Get rid of asprintf and _GNU_SOURCE define
_GNU_SOURCE was even in some files where it was not needed at all (http*). Let's replace asprintf() with g_strdup_printf().
This commit is contained in:
@@ -33,8 +33,6 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#define _GNU_SOURCE 1
|
||||
|
||||
#include "config.h"
|
||||
|
||||
#include <stdlib.h>
|
||||
@@ -92,12 +90,12 @@ _xferinfo(void* userdata, curl_off_t dltotal, curl_off_t dlnow, curl_off_t ultot
|
||||
ulperc = (100 * ulnow) / ultotal;
|
||||
}
|
||||
|
||||
char* msg;
|
||||
if (asprintf(&msg, "Uploading '%s': %d%%", upload->filename, ulperc) == -1) {
|
||||
msg = strdup(FALLBACK_MSG);
|
||||
gchar* msg = g_strdup_printf("Uploading '%s': %d%%", upload->filename, ulperc);
|
||||
if (!msg) {
|
||||
msg = g_strdup(FALLBACK_MSG);
|
||||
}
|
||||
win_update_entry_message(upload->window, upload->put_url, msg);
|
||||
free(msg);
|
||||
g_free(msg);
|
||||
|
||||
pthread_mutex_unlock(&lock);
|
||||
|
||||
@@ -165,11 +163,11 @@ http_file_put(void* userdata)
|
||||
FILE* fh = NULL;
|
||||
|
||||
char* err = NULL;
|
||||
char* content_type_header;
|
||||
gchar* content_type_header;
|
||||
// Optional headers
|
||||
char* auth_header = NULL;
|
||||
char* cookie_header = NULL;
|
||||
char* expires_header = NULL;
|
||||
gchar* auth_header = NULL;
|
||||
gchar* cookie_header = NULL;
|
||||
gchar* expires_header = NULL;
|
||||
|
||||
CURL* curl;
|
||||
CURLcode res;
|
||||
@@ -178,12 +176,12 @@ http_file_put(void* userdata)
|
||||
upload->bytes_sent = 0;
|
||||
|
||||
pthread_mutex_lock(&lock);
|
||||
char* msg;
|
||||
if (asprintf(&msg, "Uploading '%s': 0%%", upload->filename) == -1) {
|
||||
msg = strdup(FALLBACK_MSG);
|
||||
gchar* msg = g_strdup_printf("Uploading '%s': 0%%", upload->filename);
|
||||
if (!msg) {
|
||||
msg = g_strdup(FALLBACK_MSG);
|
||||
}
|
||||
win_print_http_transfer(upload->window, msg, upload->put_url);
|
||||
free(msg);
|
||||
g_free(msg);
|
||||
|
||||
char* cert_path = prefs_get_string(PREF_TLS_CERTPATH);
|
||||
pthread_mutex_unlock(&lock);
|
||||
@@ -195,28 +193,32 @@ http_file_put(void* userdata)
|
||||
curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "PUT");
|
||||
|
||||
struct curl_slist* headers = NULL;
|
||||
if (asprintf(&content_type_header, "Content-Type: %s", upload->mime_type) == -1) {
|
||||
content_type_header = strdup(FALLBACK_CONTENTTYPE_HEADER);
|
||||
content_type_header = g_strdup_printf("Content-Type: %s", upload->mime_type);
|
||||
if (content_type_header) {
|
||||
content_type_header = g_strdup(FALLBACK_CONTENTTYPE_HEADER);
|
||||
}
|
||||
headers = curl_slist_append(headers, content_type_header);
|
||||
headers = curl_slist_append(headers, "Expect:");
|
||||
|
||||
// Optional headers
|
||||
if (upload->authorization) {
|
||||
if (asprintf(&auth_header, "Authorization: %s", upload->authorization) == -1) {
|
||||
auth_header = strdup(FALLBACK_MSG);
|
||||
auth_header = g_strdup_printf("Authorization: %s", upload->authorization);
|
||||
if (!auth_header) {
|
||||
auth_header = g_strdup(FALLBACK_MSG);
|
||||
}
|
||||
headers = curl_slist_append(headers, auth_header);
|
||||
}
|
||||
if (upload->cookie) {
|
||||
if (asprintf(&cookie_header, "Cookie: %s", upload->cookie) == -1) {
|
||||
cookie_header = strdup(FALLBACK_MSG);
|
||||
cookie_header = g_strdup_printf("Cookie: %s", upload->cookie);
|
||||
if (!cookie_header) {
|
||||
cookie_header = g_strdup(FALLBACK_MSG);
|
||||
}
|
||||
headers = curl_slist_append(headers, cookie_header);
|
||||
}
|
||||
if (upload->expires) {
|
||||
if (asprintf(&expires_header, "Expires: %s", upload->expires) == -1) {
|
||||
expires_header = strdup(FALLBACK_MSG);
|
||||
expires_header = g_strdup_printf("Expires: %s", upload->expires);
|
||||
if (!expires_header) {
|
||||
expires_header = g_strdup(FALLBACK_MSG);
|
||||
}
|
||||
headers = curl_slist_append(headers, expires_header);
|
||||
}
|
||||
@@ -262,9 +264,7 @@ http_file_put(void* userdata)
|
||||
|
||||
// XEP-0363 specifies 201 but prosody returns 200
|
||||
if (http_code != 200 && http_code != 201) {
|
||||
if (asprintf(&err, "Server returned %lu", http_code) == -1) {
|
||||
err = NULL;
|
||||
}
|
||||
err = g_strdup_printf("Server returned %lu", http_code);
|
||||
}
|
||||
|
||||
#if 0
|
||||
@@ -281,47 +281,50 @@ http_file_put(void* userdata)
|
||||
if (fh) {
|
||||
fclose(fh);
|
||||
}
|
||||
free(content_type_header);
|
||||
free(output.buffer);
|
||||
free(auth_header);
|
||||
free(cookie_header);
|
||||
free(expires_header);
|
||||
g_free(content_type_header);
|
||||
g_free(auth_header);
|
||||
g_free(cookie_header);
|
||||
g_free(expires_header);
|
||||
|
||||
pthread_mutex_lock(&lock);
|
||||
g_free(cert_path);
|
||||
|
||||
if (err) {
|
||||
char* msg;
|
||||
gchar* msg;
|
||||
if (upload->cancel) {
|
||||
if (asprintf(&msg, "Uploading '%s' failed: Upload was canceled", upload->filename) == -1) {
|
||||
msg = strdup(FALLBACK_MSG);
|
||||
msg = g_strdup_printf("Uploading '%s' failed: Upload was canceled", upload->filename);
|
||||
if (!msg) {
|
||||
msg = g_strdup(FALLBACK_MSG);
|
||||
}
|
||||
} else {
|
||||
if (asprintf(&msg, "Uploading '%s' failed: %s", upload->filename, err) == -1) {
|
||||
msg = strdup(FALLBACK_MSG);
|
||||
msg = g_strdup_printf("Uploading '%s' failed: %s", upload->filename, err);
|
||||
if (!msg) {
|
||||
msg = g_strdup(FALLBACK_MSG);
|
||||
}
|
||||
win_update_entry_message(upload->window, upload->put_url, msg);
|
||||
}
|
||||
cons_show_error(msg);
|
||||
free(msg);
|
||||
g_free(msg);
|
||||
free(err);
|
||||
} else {
|
||||
if (!upload->cancel) {
|
||||
if (asprintf(&msg, "Uploading '%s': 100%%", upload->filename) == -1) {
|
||||
msg = strdup(FALLBACK_MSG);
|
||||
msg = g_strdup_printf("Uploading '%s': 100%%", upload->filename);
|
||||
if (!msg) {
|
||||
msg = g_strdup(FALLBACK_MSG);
|
||||
}
|
||||
win_update_entry_message(upload->window, upload->put_url, msg);
|
||||
win_mark_received(upload->window, upload->put_url);
|
||||
free(msg);
|
||||
g_free(msg);
|
||||
|
||||
char* url = NULL;
|
||||
if (format_alt_url(upload->get_url, upload->alt_scheme, upload->alt_fragment, &url) != 0) {
|
||||
char* msg;
|
||||
if (asprintf(&msg, "Uploading '%s' failed: Bad URL ('%s')", upload->filename, upload->get_url) == -1) {
|
||||
msg = strdup(FALLBACK_MSG);
|
||||
gchar* msg = g_strdup_printf("Uploading '%s' failed: Bad URL ('%s')", upload->filename, upload->get_url);
|
||||
if (!msg) {
|
||||
msg = g_strdup(FALLBACK_MSG);
|
||||
}
|
||||
cons_show_error(msg);
|
||||
free(msg);
|
||||
g_free(msg);
|
||||
} else {
|
||||
switch (upload->window->type) {
|
||||
case WIN_CHAT:
|
||||
|
||||
Reference in New Issue
Block a user