diff options
| author | 2022-12-10 13:15:29 +0000 | |
|---|---|---|
| committer | 2022-12-10 13:15:29 +0000 | |
| commit | 4b376782076037415d1f6d8702369ecd290d3dd8 (patch) | |
| tree | cb8a400da034e911309df95e924f3d3f5ff45407 | |
| parent | Use object_likes_len() and object_announces_len() in the post score. (diff) | |
| download | snac2-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.h | 5 |
1 files changed, 4 insertions, 1 deletions
| @@ -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); |