diff mbox series

qemu-options: Allow -no-user-config again

Message ID 9dbde2b5d864d126b75d8c0d7bae2011e8cc7e9b.1526305502.git.mprivozn@redhat.com
State New
Headers show
Series qemu-options: Allow -no-user-config again | expand

Commit Message

Michal Prívozník May 14, 2018, 1:45 p.m. UTC
After 1217d6ca2bf28c0febe1bd7d5b3fa912bbf6af2a we error out
explicitly if an unknown -option was passed on the command line.
However, we are doing two pass command line option parsing. In
the first pass we just look for -no-user-config or -nodefconfig
being present which determines whether we load user config or
not. Then in the second pass we finally parse everything else
throwing an error if an unsupported -option was found. Problem is
that in the second pass -no-user-config and -nodefconfig are not
handled explicitly which makes us throw the unsupported option
error.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
---
 vl.c | 4 ++++
 1 file changed, 4 insertions(+)

Comments

Thomas Huth May 14, 2018, 2:43 p.m. UTC | #1
On 14.05.2018 15:45, Michal Privoznik wrote:
> After 1217d6ca2bf28c0febe1bd7d5b3fa912bbf6af2a we error out
> explicitly if an unknown -option was passed on the command line.
> However, we are doing two pass command line option parsing. In
> the first pass we just look for -no-user-config or -nodefconfig
> being present which determines whether we load user config or
> not. Then in the second pass we finally parse everything else
> throwing an error if an unsupported -option was found. Problem is
> that in the second pass -no-user-config and -nodefconfig are not
> handled explicitly which makes us throw the unsupported option
> error.
> 
> Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
> ---
>  vl.c | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/vl.c b/vl.c
> index b9f6b42779..846cd29d8a 100644
> --- a/vl.c
> +++ b/vl.c
> @@ -4015,6 +4015,10 @@ int main(int argc, char **argv, char **envp)
>                      exit(1);
>                  }
>                  break;
> +            case QEMU_OPTION_nodefconfig:
> +            case QEMU_OPTION_nouserconfig:
> +                /* Nothing to be parsed here. Especially, do not error out below. */
> +                break;
>              default:
>                  if (os_parse_cmd_args(popt->index, optarg)) {
>                      error_report("Option not supported in this build");
> 

Reviewed-by: Thomas Huth <thuth@redhat.com>
Marc-André Lureau May 14, 2018, 5:26 p.m. UTC | #2
On Mon, May 14, 2018 at 3:45 PM, Michal Privoznik <mprivozn@redhat.com> wrote:
> After 1217d6ca2bf28c0febe1bd7d5b3fa912bbf6af2a we error out
> explicitly if an unknown -option was passed on the command line.
> However, we are doing two pass command line option parsing. In
> the first pass we just look for -no-user-config or -nodefconfig
> being present which determines whether we load user config or
> not. Then in the second pass we finally parse everything else
> throwing an error if an unsupported -option was found. Problem is
> that in the second pass -no-user-config and -nodefconfig are not
> handled explicitly which makes us throw the unsupported option
> error.
>
> Signed-off-by: Michal Privoznik <mprivozn@redhat.com>

Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>


> ---
>  vl.c | 4 ++++
>  1 file changed, 4 insertions(+)
>
> diff --git a/vl.c b/vl.c
> index b9f6b42779..846cd29d8a 100644
> --- a/vl.c
> +++ b/vl.c
> @@ -4015,6 +4015,10 @@ int main(int argc, char **argv, char **envp)
>                      exit(1);
>                  }
>                  break;
> +            case QEMU_OPTION_nodefconfig:
> +            case QEMU_OPTION_nouserconfig:
> +                /* Nothing to be parsed here. Especially, do not error out below. */
> +                break;
>              default:
>                  if (os_parse_cmd_args(popt->index, optarg)) {
>                      error_report("Option not supported in this build");
> --
> 2.16.1
>
>
diff mbox series

Patch

diff --git a/vl.c b/vl.c
index b9f6b42779..846cd29d8a 100644
--- a/vl.c
+++ b/vl.c
@@ -4015,6 +4015,10 @@  int main(int argc, char **argv, char **envp)
                     exit(1);
                 }
                 break;
+            case QEMU_OPTION_nodefconfig:
+            case QEMU_OPTION_nouserconfig:
+                /* Nothing to be parsed here. Especially, do not error out below. */
+                break;
             default:
                 if (os_parse_cmd_args(popt->index, optarg)) {
                     error_report("Option not supported in this build");