curl: output warning at --verbose output for debug-enabled version

+ a libcurl warning in the debug output

Assisted-by: Jay Satiro

Ref: https://curl.se/mail/lib-2023-01/0039.html
Closes #10278
This commit is contained in:
Daniel Stenberg 2023-01-11 14:15:26 +01:00
parent 13991d60ee
commit 7d3b167f48
No known key found for this signature in database
GPG Key ID: 5CC908FDB71E12C2
3 changed files with 23 additions and 0 deletions

View File

@ -1861,6 +1861,15 @@ static CURLMcode multi_runsingle(struct Curl_multi *multi,
multistate(data, MSTATE_COMPLETED);
}
#ifdef DEBUGBUILD
if(!multi->warned) {
infof(data, "!!! WARNING !!!");
infof(data, "This is a debug build of libcurl, "
"do not use in production.");
multi->warned = true;
}
#endif
do {
/* A "stream" here is a logical stream if the protocol can handle that
(HTTP/2), or the full connection for older protocols */

View File

@ -170,6 +170,9 @@ struct Curl_multi {
#endif
BIT(dead); /* a callback returned error, everything needs to crash and
burn */
#ifdef DEBUGBUILD
BIT(warned); /* true after user warned of DEBUGBUILD */
#endif
};
#endif /* HEADER_CURL_MULTIHANDLE_H */

View File

@ -151,10 +151,21 @@ void tool_help(char *category)
free(category);
}
static bool is_debug(void)
{
const char *const *builtin;
for(builtin = feature_names; *builtin; ++builtin)
if(curl_strequal("debug", *builtin))
return TRUE;
return FALSE;
}
void tool_version_info(void)
{
const char *const *builtin;
if(is_debug())
fprintf(stderr, "WARNING: this libcurl is Debug-enabled, "
"do not use in production\n\n");
printf(CURL_ID "%s\n", curl_version());
#ifdef CURL_PATCHSTAMP