Called the callback function even if there is no data 20/131920/1
authorhyunuktak <hyunuk.tak@samsung.com>
Wed, 31 May 2017 08:09:02 +0000 (17:09 +0900)
committerhyunuktak <hyunuk.tak@samsung.com>
Wed, 31 May 2017 08:09:11 +0000 (17:09 +0900)
Change-Id: Ibbd56e8458cc60741eea739c3c30366667763a9e
Signed-off-by: hyunuktak <hyunuk.tak@samsung.com>
src/internal/stc-private.c
test/statistics.c

index 2664c50..57b73b3 100755 (executable)
@@ -275,13 +275,17 @@ static void __stc_callback_foreach(stc_event_e e,
                case STC_EVENT_STATS_GET_RSP:
                        if (handle->stats_cb) {
                                if (err == STC_ERROR_NONE) {
-                                       for (data = info_data; data; data = data->next) {
-                                               stc_stats_info_h info = data->data;
-                                               ret = handle->stats_cb(err,
-                                                       info, handle->stats_user_data);
-
-                                               if (ret == STC_CALLBACK_CANCEL)
-                                                       break;
+                                       if (info_data != NULL) {
+                                               for (data = info_data; data; data = data->next) {
+                                                       stc_stats_info_h info = data->data;
+                                                       ret = handle->stats_cb(err,
+                                                               info, handle->stats_user_data);
+
+                                                       if (ret == STC_CALLBACK_CANCEL)
+                                                               break;
+                                               }
+                                       } else {
+                                               handle->stats_cb(err, NULL, NULL);
                                        }
                                } else {
                                        handle->stats_cb(err, NULL, NULL);
@@ -294,13 +298,17 @@ static void __stc_callback_foreach(stc_event_e e,
                case STC_EVENT_STATS_GET_ALL_RSP:
                        if (handle->stats_all_cb) {
                                if (err == STC_ERROR_NONE) {
-                                       for (data = info_data; data; data = data->next) {
-                                               stc_stats_info_h info = data->data;
-                                               ret = handle->stats_all_cb(err,
-                                                       info, handle->stats_all_user_data);
-
-                                               if (ret == STC_CALLBACK_CANCEL)
-                                                       break;
+                                       if (info_data != NULL) {
+                                               for (data = info_data; data; data = data->next) {
+                                                       stc_stats_info_h info = data->data;
+                                                       ret = handle->stats_all_cb(err,
+                                                               info, handle->stats_all_user_data);
+
+                                                       if (ret == STC_CALLBACK_CANCEL)
+                                                               break;
+                                               }
+                                       } else {
+                                               handle->stats_all_cb(err, NULL, NULL);
                                        }
                                } else {
                                        handle->stats_all_cb(err, NULL, NULL);
@@ -313,13 +321,17 @@ static void __stc_callback_foreach(stc_event_e e,
                case STC_EVENT_STATS_GET_TOTAL_RSP:
                        if (handle->stats_total_cb) {
                                if (err == STC_ERROR_NONE) {
-                                       for (data = info_data; data; data = data->next) {
-                                               stc_stats_info_h info = data->data;
-                                               ret = handle->stats_total_cb(err,
-                                                       info, handle->stats_total_user_data);
-
-                                               if (ret == STC_CALLBACK_CANCEL)
-                                                       break;
+                                       if (info_data != NULL) {
+                                               for (data = info_data; data; data = data->next) {
+                                                       stc_stats_info_h info = data->data;
+                                                       ret = handle->stats_total_cb(err,
+                                                               info, handle->stats_total_user_data);
+
+                                                       if (ret == STC_CALLBACK_CANCEL)
+                                                               break;
+                                               }
+                                       } else {
+                                               handle->stats_total_cb(err, NULL, NULL);
                                        }
                                } else {
                                        handle->stats_total_cb(err, NULL, NULL);
@@ -332,13 +344,17 @@ static void __stc_callback_foreach(stc_event_e e,
                case STC_EVENT_RESTRICTION_GET_RSP:
                        if (handle->restriction_cb) {
                                if (err == STC_ERROR_NONE) {
-                                       for (data = info_data; data; data = data->next) {
-                                               stc_restriction_info_h info = data->data;
-                                               ret = handle->restriction_cb(err,
-                                                       info, handle->restriction_user_data);
-
-                                               if (ret == STC_CALLBACK_CANCEL)
-                                                       break;
+                                       if (info_data != NULL) {
+                                               for (data = info_data; data; data = data->next) {
+                                                       stc_restriction_info_h info = data->data;
+                                                       ret = handle->restriction_cb(err,
+                                                               info, handle->restriction_user_data);
+
+                                                       if (ret == STC_CALLBACK_CANCEL)
+                                                               break;
+                                               }
+                                       } else {
+                                               handle->restriction_cb(err, NULL, NULL);
                                        }
                                } else {
                                        handle->restriction_cb(err, NULL, NULL);
@@ -351,13 +367,17 @@ static void __stc_callback_foreach(stc_event_e e,
                case STC_EVENT_RESTRICTION_GET_ALL_RSP:
                        if (handle->restriction_all_cb) {
                                if (err == STC_ERROR_NONE) {
-                                       for (data = info_data; data; data = data->next) {
-                                               stc_restriction_info_h info = data->data;
-                                               ret = handle->restriction_all_cb(err,
-                                                       info, handle->restriction_all_user_data);
-
-                                               if (ret == STC_CALLBACK_CANCEL)
-                                                       break;
+                                       if (info_data != NULL) {
+                                               for (data = info_data; data; data = data->next) {
+                                                       stc_restriction_info_h info = data->data;
+                                                       ret = handle->restriction_all_cb(err,
+                                                               info, handle->restriction_all_user_data);
+
+                                                       if (ret == STC_CALLBACK_CANCEL)
+                                                               break;
+                                               }
+                                       } else {
+                                               handle->restriction_all_cb(err, NULL, NULL);
                                        }
                                } else {
                                        handle->restriction_all_cb(err, NULL, NULL);
index 813fffb..09213c0 100755 (executable)
@@ -76,9 +76,9 @@ static stc_callback_ret_e __test_stc_stats_info_cb(
        }
 
        int ret = STC_ERROR_NONE;
-       char *app_id;
-       char *iface_name;
-       char *imsi;
+       char *app_id = NULL;
+       char *iface_name = NULL;
+       char *imsi = NULL;
        time_t from;
        time_t to;
        stc_iface_type_e iface_type;