diff options
author | Daniel Stenberg <daniel@haxx.se> | 2017-10-03 14:26:36 +0200 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2017-10-04 14:48:06 +0200 |
commit | 120d963a64f121619d69d6590b2cba7783a7df2a (patch) | |
tree | 68634ef836a604736cea29b2db13a5f797798aa9 /lib | |
parent | a69a4d222d661268e196d481a2a2b5c3c4cd6848 (diff) |
failf: skip the sprintf() if there are no consumers
Closes #1936
Diffstat (limited to 'lib')
-rw-r--r-- | lib/sendf.c | 34 |
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 */ |