From: Daniel Stenberg Date: Mon, 2 Dec 2019 11:00:41 +0000 (+0100) Subject: curl: show better error message when no homedir is found X-Git-Tag: curl-7_68_0~113 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=7dffc2b46f78e15ac0f8e19a2c8ebeba0c032aa4;p=thirdparty%2Fcurl.git curl: show better error message when no homedir is found Reported-by: Vlastimil Ovčáčík Fixes #4644 Closes #4665 --- diff --git a/src/tool_msgs.c b/src/tool_msgs.c index 48c7249403..c0e85aee6e 100644 --- a/src/tool_msgs.c +++ b/src/tool_msgs.c @@ -32,6 +32,7 @@ #define WARN_PREFIX "Warning: " #define NOTE_PREFIX "Note: " +#define ERROR_PREFIX "curl: " static void voutf(struct GlobalConfig *config, const char *prefix, @@ -122,3 +123,16 @@ void helpf(FILE *errors, const char *fmt, ...) #endif "for more information\n"); } + +/* + * Emit error message on error stream if not muted. + */ +void errorf(struct GlobalConfig *config, const char *fmt, ...) +{ + if(!config->mute) { + va_list ap; + va_start(ap, fmt); + voutf(config, ERROR_PREFIX, fmt, ap); + va_end(ap); + } +} diff --git a/src/tool_msgs.h b/src/tool_msgs.h index bd8480d30e..2c4afd1806 100644 --- a/src/tool_msgs.h +++ b/src/tool_msgs.h @@ -25,7 +25,7 @@ void warnf(struct GlobalConfig *config, const char *fmt, ...); void notef(struct GlobalConfig *config, const char *fmt, ...); - void helpf(FILE *errors, const char *fmt, ...); +void errorf(struct GlobalConfig *config, const char *fmt, ...); #endif /* HEADER_CURL_TOOL_MSGS_H */ diff --git a/src/tool_operate.c b/src/tool_operate.c index 23971f1128..ab3a7f1a09 100644 --- a/src/tool_operate.c +++ b/src/tool_operate.c @@ -1615,7 +1615,7 @@ static CURLcode single_transfer(struct GlobalConfig *global, if(!config->insecure_ok) { char *home; char *file; - result = CURLE_OUT_OF_MEMORY; + result = CURLE_FAILED_INIT; home = homedir(); if(home) { file = aprintf("%s/.ssh/known_hosts", home); @@ -1629,6 +1629,9 @@ static CURLcode single_transfer(struct GlobalConfig *global, } Curl_safefree(home); } + else { + errorf(global, "Failed to figure out user's home dir!"); + } if(result) break; }