diff options
author | Jay Satiro <raysatiro@yahoo.com> | 2021-01-02 03:40:24 -0500 |
---|---|---|
committer | Jay Satiro <raysatiro@yahoo.com> | 2021-01-04 18:02:50 -0500 |
commit | df1240ccac9b6efc86213161ee242f3118392fa1 (patch) | |
tree | 5e208297d0d287ffc9ceb524448975bf5c0d4113 | |
parent | 7de2e96535e97f2446fea077402caab2ee291425 (diff) | |
download | curl-df1240ccac9b6efc86213161ee242f3118392fa1.tar.gz |
tool_operate: fix the suppression logic of some error messages
- Fix the failed truncation and failed writing body error messages to
not be shown unless error messages are shown. (ie the user has
specified -sS, or has not specified -s).
- Also prefix same error messages with "curl: ", for example:
curl: (23) Failed to truncate, exiting
Prior to this change the failed truncation error messages would be shown
if not -s, but did not account for -sS which should show.
Prior to this change the failed writing body error messages would be
shown always.
Ref: https://curl.se/docs/manpage.html#-S
Bug: https://curl.se/mail/archive-2020-12/0017.html
Reported-by: Hongyi Zhao
Closes https://github.com/curl/curl/pull/6402
-rw-r--r-- | src/tool_operate.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/src/tool_operate.c b/src/tool_operate.c index 92aa99843..3f08ecc0d 100644 --- a/src/tool_operate.c +++ b/src/tool_operate.c @@ -396,7 +396,8 @@ static CURLcode post_per_transfer(struct GlobalConfig *global, if(!result && rc) { /* something went wrong in the writing process */ result = CURLE_WRITE_ERROR; - fprintf(global->errors, "(%d) Failed writing body\n", result); + if(global->showerror) + fprintf(global->errors, "curl: (%d) Failed writing body\n", result); } } @@ -559,9 +560,9 @@ static CURLcode post_per_transfer(struct GlobalConfig *global, if(ftruncate(fileno(outs->stream), outs->init)) { /* when truncate fails, we can't just append as then we'll create something strange, bail out */ - if(!global->mute) + if(global->showerror) fprintf(global->errors, - "failed to truncate, exiting\n"); + "curl: (23) Failed to truncate file\n"); return CURLE_WRITE_ERROR; } /* now seek to the end of the file, the position where we @@ -575,9 +576,9 @@ static CURLcode post_per_transfer(struct GlobalConfig *global, rc = fseek(outs->stream, (long)outs->init, SEEK_SET); #endif if(rc) { - if(!global->mute) + if(global->showerror) fprintf(global->errors, - "failed seeking to end of file, exiting\n"); + "curl: (23) Failed seeking to end of file\n"); return CURLE_WRITE_ERROR; } outs->bytes = 0; /* clear for next round */ @@ -633,7 +634,8 @@ static CURLcode post_per_transfer(struct GlobalConfig *global, if(!result && rc) { /* something went wrong in the writing process */ result = CURLE_WRITE_ERROR; - fprintf(global->errors, "(%d) Failed writing body\n", result); + if(global->showerror) + fprintf(global->errors, "curl: (%d) Failed writing body\n", result); } } |