--help: strdup the category

... since it is converted and the original pointer is freed on Windows
unicode handling.

Follow-up to aa8777f63f
Fixes #5977
Closes #5978
Reported-by: xwxbug on github
This commit is contained in:
Daniel Stenberg 2020-09-18 08:09:09 +02:00
parent 2df7414a73
commit 5bd63e0619
No known key found for this signature in database
GPG key ID: 5CC908FDB71E12C2
3 changed files with 14 additions and 14 deletions

View file

@ -899,35 +899,31 @@ static void get_categories(void)
}
void tool_help(const char *category)
void tool_help(char *category)
{
puts("Usage: curl [options...] <url>");
/* If no category was provided */
if(!category) {
const char *category_note = "\nThis is not the full help, this "
"menu is stripped into categories.\nUse \"--help category\" to get "
"an overview of all categories.\nFor all options use the manual"
" or \"--help all\".";
"menu is stripped into categories.\nUse \"--help category\" to get "
"an overview of all categories.\nFor all options use the manual"
" or \"--help all\".";
print_category(CURLHELP_IMPORTANT);
puts(category_note);
return;
}
/* Lets print everything if "all" was provided */
if(curl_strequal(category, "all")) {
else if(curl_strequal(category, "all"))
/* Print everything except hidden */
print_category(~(CURLHELP_HIDDEN));
return;
}
/* Lets handle the string "category" differently to not print an errormsg */
if(curl_strequal(category, "category")) {
else if(curl_strequal(category, "category"))
get_categories();
return;
}
/* Otherwise print category and handle the case if the cat was not found */
if(get_category_content(category)) {
else if(get_category_content(category)) {
puts("Invalid category provided, here is a list of all categories:\n");
get_categories();
}
free(category);
}
static int