Skip to content

Commit 9fb8098

Browse files
committed
Fix uecho_object_setpropertymap()
1 parent 807dc0e commit 9fb8098

File tree

2 files changed

+8
-10
lines changed

2 files changed

+8
-10
lines changed

src/uecho/object.c

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -360,7 +360,6 @@ bool uecho_propertymap_codetoformat2(uEchoPropertyCode prop_code, int* prop_map_
360360
bool uecho_object_setpropertymap(uEchoObject* obj, uEchoPropertyCode map_code, uEchoPropertyCode* prop_codes, size_t props_code_size)
361361
{
362362
byte prop_map_data[uEchoPropertyMapFormatMaxSize];
363-
uEchoPropertyCode* prop_map;
364363
uEchoPropertyCode prop_code;
365364
int prop_map_row, prop_map_bit;
366365
size_t n;
@@ -369,25 +368,24 @@ bool uecho_object_setpropertymap(uEchoObject* obj, uEchoPropertyCode map_code, u
369368
return false;
370369

371370
prop_map_data[0] = (byte)props_code_size;
372-
prop_map = prop_map_data + 1;
373371

374372
// Description Format 1
375373

376374
if (props_code_size <= uEchoPropertyMapFormat1MaxSize) {
377-
memcpy(prop_map, prop_codes, props_code_size);
375+
memcpy((prop_map_data +1), prop_codes, props_code_size);
378376
uecho_propertylist_set(obj->properties, map_code, uEchoPropertyAttrRead, prop_map_data, (props_code_size + 1));
379377
return true;
380378
}
381379

382380
// Description Format 2
383381

384-
memset(prop_map, 0, uEchoPropertyMapFormatMaxSize);
382+
memset((prop_map_data +1), 0, uEchoPropertyMapFormat2MapSize);
385383
for (n = 0; n < props_code_size; n++) {
386384
prop_code = prop_codes[n];
387385
if (!uecho_propertymap_codetoformat2(prop_code, &prop_map_row, &prop_map_bit)) {
388386
continue;
389387
}
390-
prop_map[prop_map_row] |= ((0x01 << prop_map_bit) & 0x0F);
388+
prop_map_data[prop_map_row] |= ((0x01 << prop_map_bit) & 0x0F);
391389
}
392390

393391
uecho_propertylist_setdata(obj->properties, map_code, prop_map_data, uEchoPropertyMapFormat2Size);

test/PropertyMapTest.cpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -45,20 +45,20 @@ BOOST_AUTO_TEST_CASE(PropertyMap)
4545
for (int j = 0; j < sizeof(prop_codes) / sizeof(prop_codes[0]); j++) {
4646
uEchoPropertyCode prop_code = prop_codes[i];
4747

48-
size_t expectedPropMapCount = 0;
48+
size_t expected_prop_map_count = 0;
4949
for (uEchoProperty* prop = uecho_object_getproperties(obj); prop; prop = uecho_property_next(prop)) {
5050
switch (prop_code) {
5151
case uEchoObjectGetPropertyMap: {
5252
if (uecho_property_isreadable(prop))
53-
expectedPropMapCount++;
53+
expected_prop_map_count++;
5454
} break;
5555
case uEchoObjectSetPropertyMap: {
5656
if (uecho_property_iswritable(prop))
57-
expectedPropMapCount++;
57+
expected_prop_map_count++;
5858
} break;
5959
case uEchoObjectAnnoPropertyMap: {
6060
if (uecho_property_isannounceable(prop))
61-
expectedPropMapCount++;
61+
expected_prop_map_count++;
6262
} break;
6363
}
6464
}
@@ -68,7 +68,7 @@ BOOST_AUTO_TEST_CASE(PropertyMap)
6868

6969
size_t prop_map_count = 0;
7070
uecho_property_getpropertymapcount(prop, &prop_map_count);
71-
BOOST_CHECK_EQUAL(prop_map_count, expectedPropMapCount);
71+
BOOST_CHECK_EQUAL(prop_map_count, expected_prop_map_count);
7272

7373
uEchoPropertyCode* prop_map_codes = (uEchoPropertyCode*)malloc(prop_map_count);
7474
BOOST_CHECK(uecho_property_getpropertymapcodes(prop, prop_map_codes, prop_map_count));

0 commit comments

Comments
 (0)