From aaab269d8da22d4e6079408af6b5365364f8af10 Mon Sep 17 00:00:00 2001 From: Jiwan Kim Date: Mon, 13 Feb 2017 17:03:39 +0900 Subject: [PATCH] Fix issue with scene cluster - Fix data receiving logic Change-Id: Iaa7e84733a3c41e9b91d54cfafd30d09afce0d4d Signed-off-by: Jiwan Kim --- .../zigbee-interface/src/zigbee_service_dbus_interface_zcl_scene.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) 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; -- 2.7.4