}
rc = decode_tag_size(&head->size, tag_size, buf+len, n-len);
- if (head->size == 0)
+ if (rc == 0 && head->size == 0)
return 0;
len += rc;
g_value_set_ulong(&val, unpack_32_le(priv->buf+len));
g_object_set_property(G_OBJECT(uo), head->prop_name, &val);
break;
+ case PROPERTY_BOOLEAN:
+ g_value_init(&val, G_TYPE_BOOLEAN);
+ g_value_set_boolean(&val, head->tag_msb);
+ g_object_set_property(G_OBJECT(uo), head->prop_name, &val);
+ break;
case PROPERTY_OBJECT:
rc = decode_object_property(uo, &val, len);
if (rc != 0)