mirror of https://github.com/xemu-project/xemu.git
qemu-img: Clean up global variable shadowing
Fix: qemu-img.c:247:46: error: declaration shadows a variable in the global scope [-Werror,-Wshadow] static bool is_valid_option_list(const char *optarg) ^ qemu-img.c:265:53: error: declaration shadows a variable in the global scope [-Werror,-Wshadow] static int accumulate_options(char **options, char *optarg) ^ /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/getopt.h:77:14: note: previous declaration is here extern char *optarg; /* getopt(3) external variables */ ^ Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> Message-ID: <20231004120019.93101-7-philmd@linaro.org> Reviewed-by: Eric Blake <eblake@redhat.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Markus Armbruster <armbru@redhat.com>
This commit is contained in:
parent
82f3346ff4
commit
46bb944efd
22
qemu-img.c
22
qemu-img.c
|
@ -235,25 +235,25 @@ void help(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Is @optarg safe for accumulate_options()?
|
* Is @list safe for accumulate_options()?
|
||||||
* It is when multiple of them can be joined together separated by ','.
|
* It is when multiple of them can be joined together separated by ','.
|
||||||
* To make that work, @optarg must not start with ',' (or else a
|
* To make that work, @list must not start with ',' (or else a
|
||||||
* separating ',' preceding it gets escaped), and it must not end with
|
* separating ',' preceding it gets escaped), and it must not end with
|
||||||
* an odd number of ',' (or else a separating ',' following it gets
|
* an odd number of ',' (or else a separating ',' following it gets
|
||||||
* escaped), or be empty (or else a separating ',' preceding it can
|
* escaped), or be empty (or else a separating ',' preceding it can
|
||||||
* escape a separating ',' following it).
|
* escape a separating ',' following it).
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
static bool is_valid_option_list(const char *optarg)
|
static bool is_valid_option_list(const char *list)
|
||||||
{
|
{
|
||||||
size_t len = strlen(optarg);
|
size_t len = strlen(list);
|
||||||
size_t i;
|
size_t i;
|
||||||
|
|
||||||
if (!optarg[0] || optarg[0] == ',') {
|
if (!list[0] || list[0] == ',') {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (i = len; i > 0 && optarg[i - 1] == ','; i--) {
|
for (i = len; i > 0 && list[i - 1] == ','; i--) {
|
||||||
}
|
}
|
||||||
if ((len - i) % 2) {
|
if ((len - i) % 2) {
|
||||||
return false;
|
return false;
|
||||||
|
@ -262,19 +262,19 @@ static bool is_valid_option_list(const char *optarg)
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int accumulate_options(char **options, char *optarg)
|
static int accumulate_options(char **options, char *list)
|
||||||
{
|
{
|
||||||
char *new_options;
|
char *new_options;
|
||||||
|
|
||||||
if (!is_valid_option_list(optarg)) {
|
if (!is_valid_option_list(list)) {
|
||||||
error_report("Invalid option list: %s", optarg);
|
error_report("Invalid option list: %s", list);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!*options) {
|
if (!*options) {
|
||||||
*options = g_strdup(optarg);
|
*options = g_strdup(list);
|
||||||
} else {
|
} else {
|
||||||
new_options = g_strdup_printf("%s,%s", *options, optarg);
|
new_options = g_strdup_printf("%s,%s", *options, list);
|
||||||
g_free(*options);
|
g_free(*options);
|
||||||
*options = new_options;
|
*options = new_options;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue