+
+ /*
+ * g_object_set_property increments refcount,
+ * release our reference.
+ */
+ g_object_unref(g_value_get_object(&val));
+ break;
+ case PROPERTY_FLOAT:
+ if (head->size != 4 || priv->nbuf-len < head->size)
+ return 0;
+ g_value_init(&val, G_TYPE_FLOAT);
+ g_value_set_float(&val, u_unpack_binary32_le(priv->buf+len));
+ g_object_set_property(G_OBJECT(uo), head->prop_name, &val);