X-Git-Url: http://git.draconx.ca/gitweb/upkg.git/blobdiff_plain/95f7a657a099c844a644b8736bd18e08afd50661..c148dfd50aef1b3f8142238a0bf88f20e95700a9:/src/uobject/uobject.c diff --git a/src/uobject/uobject.c b/src/uobject/uobject.c index 1a3d740..fa93ec0 100644 --- a/src/uobject/uobject.c +++ b/src/uobject/uobject.c @@ -174,7 +174,7 @@ decode_prop_header(struct upkg *upkg, struct prop_head *head, } 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; @@ -239,6 +239,11 @@ static unsigned long deserialize_property(UObject *uo, struct prop_head *head) 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)