diff options
author | Daniel Stenberg <daniel@haxx.se> | 2017-10-03 14:26:36 +0200 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2017-10-03 14:26:36 +0200 |
commit | 037f027e18421e8e3692e1cf5b211fb66ff72700 (patch) | |
tree | e7b24a8a76817811f45defd5ef67fe2e8b7ac550 | |
parent | ff6774ea6a03ae193f92e7175e9b96aaffb3f44c (diff) | |
download | curl-bagder/failf-skip-faster.tar.gz |
failf: skip the sprintf() if there are no consumersbagder/failf-skip-faster
-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 */ |