res_size = size * nmemb;
- if (received && res_size > 0)
- *received = g_strndup((const char *)ptr, res_size);
- else
+ if (received && res_size > 0) {
+ if (*received) {
+ char *temp = NULL;
+ char *new = NULL;
+ temp = g_strndup((const char *)ptr, res_size);
+ new = g_strdup_printf("%s%s", *received, temp);
+ g_free(temp);
+ g_free(*received);
+ *received = new;
+ } else
+ *received = g_strndup((const char *)ptr, res_size);
+ } else
_E("fail to get response [res size : %d]", res_size);
return res_size;
res = curl_easy_perform(curl);
if (res != CURLE_OK) {
_E("curl_easy_perform() failed: %s", curl_easy_strerror(res));
+ g_free(*cmd_json);
ret = -1;
}
_D("received cmd : %s", *cmd_json ? *cmd_json : "NULL");