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:
Michael Vetter
2021-03-30 17:38:13 +02:00
parent 3c1e4bac3a
commit 1ec606540e
12 changed files with 97 additions and 104 deletions

View File

@@ -34,8 +34,6 @@
*
*/
#define _GNU_SOURCE 1
#include "config.h"
#include <stdlib.h>

View File

@@ -35,7 +35,6 @@
#include "config.h"
#define _GNU_SOURCE
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
@@ -315,11 +314,13 @@ _autocomplete_param_common(const char* const input, char* command, autocomplete_
char* result = NULL;
int len;
len = asprintf(&command_cpy, "%s ", command);
if (len == -1) {
command_cpy = g_strdup_printf("%s ", command);
if (!command_cpy) {
return NULL;
}
len = strlen(command_cpy);
if (strncmp(input, command_cpy, len) == 0) {
int inp_len = strlen(input);
char prefix[inp_len];

View File

@@ -35,8 +35,6 @@
#include "config.h"
#define _GNU_SOURCE 1
#include <stdlib.h>
#include <stdio.h>
#include <string.h>

View File

@@ -34,8 +34,6 @@
*
*/
#define _GNU_SOURCE 1
#include "config.h"
#include <stdlib.h>

View File

@@ -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: