diff options
author | dartraiden <wowemuh@gmail.com> | 2018-12-14 03:33:12 +0300 |
---|---|---|
committer | dartraiden <wowemuh@gmail.com> | 2018-12-14 03:33:29 +0300 |
commit | fff280ec7c91e7bbba1f8dd389468717f08e9106 (patch) | |
tree | ae20777655e2814dd5ab9be0e456a472065e62ce /libs/libcurl/src/sendf.c | |
parent | 887544273011d56a796e9507199ea8d6484d31c6 (diff) |
libcurl: update to 7.63
Diffstat (limited to 'libs/libcurl/src/sendf.c')
-rw-r--r-- | libs/libcurl/src/sendf.c | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/libs/libcurl/src/sendf.c b/libs/libcurl/src/sendf.c index d3c10b3690..e8598e6173 100644 --- a/libs/libcurl/src/sendf.c +++ b/libs/libcurl/src/sendf.c @@ -237,7 +237,18 @@ void Curl_infof(struct Curl_easy *data, const char *fmt, ...) size_t len; char print_buffer[2048 + 1]; va_start(ap, fmt); - vsnprintf(print_buffer, sizeof(print_buffer), fmt, ap); + len = mvsnprintf(print_buffer, sizeof(print_buffer), fmt, ap); + /* + * Indicate truncation of the input by replacing the last 3 characters + * with "...", and transfer the newline over in case the format had one. + */ + if(len >= sizeof(print_buffer)) { + len = strlen(fmt); + if(fmt[--len] == '\n') + msnprintf(print_buffer + (sizeof(print_buffer) - 5), 5, "...\n"); + else + msnprintf(print_buffer + (sizeof(print_buffer) - 4), 4, "..."); + } va_end(ap); len = strlen(print_buffer); Curl_debug(data, CURLINFO_TEXT, print_buffer, len); @@ -255,7 +266,7 @@ void Curl_failf(struct Curl_easy *data, const char *fmt, ...) size_t len; char error[CURL_ERROR_SIZE + 2]; va_start(ap, fmt); - vsnprintf(error, CURL_ERROR_SIZE, fmt, ap); + mvsnprintf(error, CURL_ERROR_SIZE, fmt, ap); len = strlen(error); if(data->set.errorbuffer && !data->state.errorbuf) { |