On 04/10/2023 14.00, Philippe Mathieu-Daudé wrote:
> Fix:
>
> net/net.c:1680:35: error: declaration shadows a variable in the global scope [-Werror,-Wshadow]
> bool netdev_is_modern(const char *optarg)
> ^
> net/net.c:1714:38: error: declaration shadows a variable in the global scope [-Werror,-Wshadow]
> void netdev_parse_modern(const char *optarg)
> ^
> net/net.c:1728:60: error: declaration shadows a variable in the global scope [-Werror,-Wshadow]
> void net_client_parse(QemuOptsList *opts_list, const 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>
> ---
> include/net/net.h | 6 +++---
> net/net.c | 14 +++++++-------
> 2 files changed, 10 insertions(+), 10 deletions(-)
>
> diff --git a/include/net/net.h b/include/net/net.h
> index 330d285930..2fb1c9181c 100644
> --- a/include/net/net.h
> +++ b/include/net/net.h
> @@ -247,9 +247,9 @@ extern const char *host_net_devices[];
>
> /* from net.c */
> extern NetClientStateList net_clients;
> -bool netdev_is_modern(const char *optarg);
> -void netdev_parse_modern(const char *optarg);
> -void net_client_parse(QemuOptsList *opts_list, const char *str);
> +bool netdev_is_modern(const char *optstr);
> +void netdev_parse_modern(const char *optstr);
> +void net_client_parse(QemuOptsList *opts_list, const char *optstr);
> void show_netdevs(void);
> void net_init_clients(void);
> void net_check_clients(void);
> diff --git a/net/net.c b/net/net.c
> index 1c0bfdaa6c..c0c0cbe99e 100644
> --- a/net/net.c
> +++ b/net/net.c
> @@ -1677,7 +1677,7 @@ void net_init_clients(void)
> * Modern syntax is to be parsed with netdev_parse_modern().
> * Traditional syntax is to be parsed with net_client_parse().
> */
> -bool netdev_is_modern(const char *optarg)
> +bool netdev_is_modern(const char *optstr)
> {
> QemuOpts *opts;
> bool is_modern;
> @@ -1689,13 +1689,13 @@ bool netdev_is_modern(const char *optarg)
> .desc = { { } },
> };
>
> - if (optarg[0] == '{') {
> + if (optstr[0] == '{') {
> /* This is JSON, which means it's modern syntax */
> return true;
> }
>
> opts = qemu_opts_create(&dummy_opts, NULL, false, &error_abort);
> - qemu_opts_do_parse(opts, optarg, dummy_opts.implied_opt_name,
> + qemu_opts_do_parse(opts, optstr, dummy_opts.implied_opt_name,
> &error_abort);
> type = qemu_opt_get(opts, "type");
> is_modern = !g_strcmp0(type, "stream") || !g_strcmp0(type, "dgram");
> @@ -1711,12 +1711,12 @@ bool netdev_is_modern(const char *optarg)
> * netdev_parse_modern() appends to @nd_queue, whereas net_client_parse()
> * appends to @qemu_netdev_opts.
> */
> -void netdev_parse_modern(const char *optarg)
> +void netdev_parse_modern(const char *optstr)
> {
> Visitor *v;
> NetdevQueueEntry *nd;
>
> - v = qobject_input_visitor_new_str(optarg, "type", &error_fatal);
> + v = qobject_input_visitor_new_str(optstr, "type", &error_fatal);
> nd = g_new(NetdevQueueEntry, 1);
> visit_type_Netdev(v, NULL, &nd->nd, &error_fatal);
> visit_free(v);
> @@ -1725,9 +1725,9 @@ void netdev_parse_modern(const char *optarg)
> QSIMPLEQ_INSERT_TAIL(&nd_queue, nd, entry);
> }
>
> -void net_client_parse(QemuOptsList *opts_list, const char *optarg)
> +void net_client_parse(QemuOptsList *opts_list, const char *optstr)
> {
> - if (!qemu_opts_parse_noisily(opts_list, optarg, true)) {
> + if (!qemu_opts_parse_noisily(opts_list, optstr, true)) {
> exit(1);
> }
> }
Reviewed-by: Thomas Huth <thuth@redhat.com>