Fix issue with scene cluster
authorJiwan Kim <ji-wan.kim@samsung.com>
Mon, 13 Feb 2017 08:03:39 +0000 (17:03 +0900)
committersaerome.kim <saerome.kim@samsung.com>
Thu, 11 May 2017 09:10:26 +0000 (18:10 +0900)
- Fix data receiving logic

Change-Id: Iaa7e84733a3c41e9b91d54cfafd30d09afce0d4d
Signed-off-by: Jiwan Kim <ji-wan.kim@samsung.com>
zigbee-daemon/zigbee-interface/src/zigbee_service_dbus_interface_zcl_scene.c

index dc57f00..079b927 100644 (file)
@@ -93,6 +93,7 @@ static gboolean on_zcl_scene_add_scene(ZigbeeZcl_scene *zcl_scene_object,
 
        GVariantIter *iter = NULL;
        gint i = 0;
+       unsigned char value = 0;
 
        gboolean ret;
 
@@ -105,7 +106,7 @@ static gboolean on_zcl_scene_add_scene(ZigbeeZcl_scene *zcl_scene_object,
        req.scene_id = scene_id;
        req.transition_time = transition_time;
        g_variant_get(scene_name, "a(y)", &iter);
-       while (g_variant_iter_loop(iter, "(y)", req.scene_name[i])) {
+       while (g_variant_iter_loop(iter, "(y)", &(req.scene_name[i]))) {
                i++;
                if (i >= ZIGBEE_ZCL_GROUP_NAME_MAX_LEN + 1)
                        break;
@@ -115,7 +116,8 @@ static gboolean on_zcl_scene_add_scene(ZigbeeZcl_scene *zcl_scene_object,
        req.ext_field_set_len = ext_length;
        req.ext_field_set = g_malloc0(ext_length);
        g_variant_get(ext_field_set, "a(y)", &iter);
-       while (g_variant_iter_loop(iter, "(y)", req.ext_field_set[i])) {
+       while (g_variant_iter_loop(iter, "(y)", &value)) {
+               req.ext_field_set[i] = value;
                i++;
                if (i >= ext_length)
                        break;