From: Jiwan Kim Date: Mon, 13 Feb 2017 08:03:39 +0000 (+0900) Subject: Fix issue with scene cluster X-Git-Tag: submit/tizen/20170512.045637~13 X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fconnectivity%2Fzigbee-manager.git;a=commitdiff_plain;h=aaab269d8da22d4e6079408af6b5365364f8af10 Fix issue with scene cluster - Fix data receiving logic Change-Id: Iaa7e84733a3c41e9b91d54cfafd30d09afce0d4d Signed-off-by: Jiwan Kim --- diff --git a/zigbee-daemon/zigbee-interface/src/zigbee_service_dbus_interface_zcl_scene.c b/zigbee-daemon/zigbee-interface/src/zigbee_service_dbus_interface_zcl_scene.c index dc57f00..079b927 100644 --- a/zigbee-daemon/zigbee-interface/src/zigbee_service_dbus_interface_zcl_scene.c +++ b/zigbee-daemon/zigbee-interface/src/zigbee_service_dbus_interface_zcl_scene.c @@ -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;