Fix wifi-aware-test
authorCheoleun Moon <chleun.moon@samsung.com>
Thu, 13 Feb 2020 09:09:31 +0000 (18:09 +0900)
committerCheoleun Moon <chleun.moon@samsung.com>
Thu, 13 Feb 2020 09:09:31 +0000 (18:09 +0900)
src/wifi-aware-private.c
test/wifi-aware-test.c

index 9b4f6a0..4c6142b 100644 (file)
@@ -626,9 +626,12 @@ static void __parsing_service_discovered_event(GVariant *parameters,
        gchar *info_value = NULL;
 
        g_variant_get(parameters, "(uusq)", sub_id, peer_id,
-                       info_value, specific_info_len);
+                       &info_value, specific_info_len);
 
        memcpy(specific_info, info_value, *specific_info_len);
+       specific_info[*specific_info_len] = 0;
+       WIFI_AWARE_LOGD("specific_info: %s", specific_info);
+       g_free(info_value);
 }
 
 static void __service_discovered_cb(GDBusConnection *connection,
@@ -642,7 +645,7 @@ static void __service_discovered_cb(GDBusConnection *connection,
 
        unsigned int sub_id = 0;
        unsigned int peer_id = 0;
-       unsigned char *specific_info = NULL;
+       unsigned char specific_info[WIFI_AWARE_MAX_SERVICE_SPECIFIC_INFO_LEN];
        size_t specific_info_len = 0;
 
        wifi_aware_subscribe_s *handle = (wifi_aware_subscribe_s *)user_data;
@@ -659,7 +662,7 @@ static void __service_discovered_cb(GDBusConnection *connection,
                return;
        }
 
-       WIFI_AWARE_LOGD("Peer ID: %u", peer_id);
+       WIFI_AWARE_LOGD("subscribe ID: %u, Peer ID: %u", sub_id, peer_id);
        if (_wifi_aware_peer_create(&peer, peer_id) != WIFI_AWARE_ERROR_NONE) {
                WIFI_AWARE_LOGE("Fail to create peer");
                return;
index 380dd13..ba5c1a3 100644 (file)
@@ -82,9 +82,9 @@
        } while (0)
 
 #define SERVICE_NAME "CtsVerifierTestService"
-#define UPDATE_SERVICE_NAME "UpdatedServiceName"
 #define MATCH_FILTER "bytes used for matching"
 #define PUB_SSI "Extra bytes in the publisher discovery"
+#define UPDATE_PUB_SSI "Updated Specific Information"
 #define SUB_SSI "Arbitrary bytes for the subscribe discovery"
 #define MSG_SUB_TO_PUB "Let's talk"
 #define MSG_PUB_TO_SUB "Ready"
@@ -254,24 +254,15 @@ void __print_byte_array(unsigned char *data, size_t len)
        const unsigned char *ptr = data;
        const unsigned char *max = data + len;
        while (ptr < max) {
-               const unsigned char *const end = ptr + 1 + ptr[0];
-               if (end > max) {
-                       printf("<< invalid data >>");
-                       break;
-               }
-               if (++ptr < end)
-                       printf(" ");   /* As long as string is non-empty, begin with a space */
-               while (ptr < end) {
-                       if (strchr(" &;`'\"|*?~<>^()[]{}$", *ptr))
-                               printf("\\");
-                       if (*ptr == '\\')
-                               printf("\\\\\\\\");
-                       else if (*ptr >= ' ')
-                               printf("%c", *ptr);
-                       else
-                               printf("\\\\x%02X", *ptr);
-                       ptr++;
-               }
+               if (strchr(" &;`'\"|*?~<>^()[]{}$", *ptr))
+                       printf("\\");
+               if (*ptr == '\\')
+                       printf("\\\\\\\\");
+               else if (*ptr >= ' ')
+                       printf("%c", *ptr);
+               else
+                       printf("\\\\x%02X", *ptr);
+               ptr++;
        }   
     printf("\n");
 }
@@ -480,7 +471,8 @@ static void __updated_publish_cb(wifi_aware_error_e error, wifi_aware_publish_h
 void test_update_publish()
 {
        int ret = 0;
-       char service_name[MAX_SERVICE_NAME_LEN + 1] = {0, };
+       unsigned char specific_info[MAX_SPECIFIC_INFO_LEN + 1] = {0, };
+       size_t len = 0;
 
        RET_IF_LOOP_IS_NULL();
        RET_IF_HANDLE_IS_NULL();
@@ -490,9 +482,10 @@ void test_update_publish()
                return;
        }
 
-       strncpy(service_name, UPDATE_SERVICE_NAME, MAX_SERVICE_NAME_LEN);
-       ret = wifi_aware_publish_set_service_name(g_publish_handle,
-                       service_name);
+       len = strlen(UPDATE_PUB_SSI);
+       memcpy(specific_info, UPDATE_PUB_SSI, len);
+       ret = wifi_aware_publish_set_service_specific_info(g_publish_handle,
+                       specific_info, len);
        if (ret != WIFI_AWARE_ERROR_NONE)
                return;