summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Toby Jaffey2022-12-10 13:15:29 +0000
committerGravatar Toby Jaffey2022-12-10 13:15:29 +0000
commit4b376782076037415d1f6d8702369ecd290d3dd8 (patch)
treecb8a400da034e911309df95e924f3d3f5ff45407
parentUse object_likes_len() and object_announces_len() in the post score. (diff)
downloadsnac2-4b376782076037415d1f6d8702369ecd290d3dd8.tar.gz
snac2-4b376782076037415d1f6d8702369ecd290d3dd8.tar.xz
snac2-4b376782076037415d1f6d8702369ecd290d3dd8.zip
Ensure that pd variable stays in scope while curl request runs
Fix for #19
-rw-r--r--xs_curl.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/xs_curl.h b/xs_curl.h
index b769e2f..d024379 100644
--- a/xs_curl.h
+++ b/xs_curl.h
@@ -93,6 +93,7 @@ d_char *xs_http_request(char *method, char *url, d_char *headers,
93 struct curl_slist *list = NULL; 93 struct curl_slist *list = NULL;
94 char *k, *v, *p; 94 char *k, *v, *p;
95 long lstatus; 95 long lstatus;
96 struct _payload_data pd;
96 97
97 response = xs_dict_new(); 98 response = xs_dict_new();
98 99
@@ -128,7 +129,9 @@ d_char *xs_http_request(char *method, char *url, d_char *headers,
128 sprintf(tmp, "content-length: %d", b_size); 129 sprintf(tmp, "content-length: %d", b_size);
129 list = curl_slist_append(list, tmp); 130 list = curl_slist_append(list, tmp);
130 131
131 struct _payload_data pd = { body, b_size, 0 }; 132 pd.data = body;
133 pd.size = b_size;
134 pd.offset = 0;
132 135
133 curl_easy_setopt(curl, CURLOPT_READDATA, &pd); 136 curl_easy_setopt(curl, CURLOPT_READDATA, &pd);
134 curl_easy_setopt(curl, CURLOPT_READFUNCTION, _post_callback); 137 curl_easy_setopt(curl, CURLOPT_READFUNCTION, _post_callback);