Projects
openEuler:22.03:LTS:LoongArch
curl
_service:tar_scm_kernel_repo:backport-tool_getp...
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File _service:tar_scm_kernel_repo:backport-tool_getparam-fix-cleanarg-for-unicode-builds.patch of Package curl
From 206550a9c25e2084012f616dcce90142a30a8f80 Mon Sep 17 00:00:00 2001 From: Daniel Stenberg <daniel@haxx.se> Date: Sat, 23 Jul 2022 13:33:57 +0200 Subject: [PATCH] tool_getparam: fix cleanarg() for unicode builds Use the correct type, and make cleanarg an empty macro if the cleaning ability is absent. Fixes #9195 Closes #9196 Reviewed-by: Jay Satiro Reviewed-by: Marcel Raad --- src/tool_getparam.c | 14 +++++++------- src/tool_getparam.h | 3 ++- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/src/tool_getparam.c b/src/tool_getparam.c index 6423c8fe1..9bbd51d34 100644 --- a/src/tool_getparam.c +++ b/src/tool_getparam.c @@ -541,9 +541,9 @@ static ParameterError GetSizeParameter(struct GlobalConfig *global, return PARAM_OK; } -static void cleanarg(char *str) -{ #ifdef HAVE_WRITABLE_ARGV +static void cleanarg(argv_item_t str) +{ /* now that GetStr has copied the contents of nextarg, wipe the next * argument out so that the username:password isn't displayed in the * system process list */ @@ -551,14 +551,14 @@ static void cleanarg(char *str) size_t len = strlen(str); memset(str, ' ', len); } +} #else - (void)str; +#define cleanarg(x) #endif -} ParameterError getparameter(const char *flag, /* f or -long-flag */ char *nextarg, /* NULL if unset */ - char *clearthis, + argv_item_t clearthis, bool *usedarg, /* set to TRUE if the arg has been used */ struct GlobalConfig *global, @@ -576,7 +576,7 @@ ParameterError getparameter(const char *flag, /* f or -long-flag */ ParameterError err; bool toggle = TRUE; /* how to switch boolean options, on or off. Controlled by using --OPTION or --no-OPTION */ - + (void)clearthis; /* for !HAVE_WRITABLE_ARGV builds */ *usedarg = FALSE; /* default is that we don't use the arg */ if(('-' != flag[0]) || ('-' == flag[1])) { @@ -2440,7 +2440,7 @@ ParameterError parse_args(struct GlobalConfig *global, int argc, stillflags = FALSE; else { char *nextarg = NULL; - char *clear = NULL; + argv_item_t clear = NULL; if(i < (argc - 1)) { nextarg = curlx_convert_tchar_to_UTF8(argv[i + 1]); if(!nextarg) { diff --git a/src/tool_getparam.h b/src/tool_getparam.h index e35136123..0564518a6 100644 --- a/src/tool_getparam.h +++ b/src/tool_getparam.h @@ -54,7 +54,8 @@ typedef enum { struct GlobalConfig; struct OperationConfig; -ParameterError getparameter(const char *flag, char *nextarg, char *clearthis, +ParameterError getparameter(const char *flag, char *nextarg, + argv_item_t clearthis, bool *usedarg, struct GlobalConfig *global, struct OperationConfig *operation); -- 2.33.0
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.