summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2017-10-03 14:26:36 +0200
committerDaniel Stenberg <daniel@haxx.se>2017-10-04 14:48:06 +0200
commit120d963a64f121619d69d6590b2cba7783a7df2a (patch)
tree68634ef836a604736cea29b2db13a5f797798aa9
parenta69a4d222d661268e196d481a2a2b5c3c4cd6848 (diff)
downloadcurl-120d963a64f121619d69d6590b2cba7783a7df2a.tar.gz
failf: skip the sprintf() if there are no consumers
Closes #1936
-rw-r--r--lib/sendf.c34
1 files changed, 17 insertions, 17 deletions
diff --git a/lib/sendf.c b/lib/sendf.c
index 7564cb3d0..cbdb233fd 100644
--- a/lib/sendf.c
+++ b/lib/sendf.c
@@ -241,25 +241,25 @@ void Curl_infof(struct Curl_easy *data, const char *fmt, ...)
void Curl_failf(struct Curl_easy *data, const char *fmt, ...)
{
- va_list ap;
- size_t len;
- char error[CURL_ERROR_SIZE + 2];
- va_start(ap, fmt);
-
- vsnprintf(error, CURL_ERROR_SIZE, fmt, ap);
- len = strlen(error);
+ if(data->set.verbose || data->set.errorbuffer) {
+ va_list ap;
+ size_t len;
+ char error[CURL_ERROR_SIZE + 2];
+ va_start(ap, fmt);
+ vsnprintf(error, CURL_ERROR_SIZE, fmt, ap);
+ len = strlen(error);
- if(data->set.errorbuffer && !data->state.errorbuf) {
- strcpy(data->set.errorbuffer, error);
- data->state.errorbuf = TRUE; /* wrote error string */
- }
- if(data->set.verbose) {
- error[len] = '\n';
- error[++len] = '\0';
- Curl_debug(data, CURLINFO_TEXT, error, len, NULL);
+ if(data->set.errorbuffer && !data->state.errorbuf) {
+ strcpy(data->set.errorbuffer, error);
+ data->state.errorbuf = TRUE; /* wrote error string */
+ }
+ if(data->set.verbose) {
+ error[len] = '\n';
+ error[++len] = '\0';
+ Curl_debug(data, CURLINFO_TEXT, error, len, NULL);
+ }
+ va_end(ap);
}
-
- va_end(ap);
}
/* Curl_sendf() sends formatted data to the server */