diff options
author | Paolo Bonzini <pbonzini@redhat.com> | 2022-04-27 12:26:48 +0200 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2022-05-14 12:33:44 +0200 |
commit | eef5fdf3d57dccc25505179f717adf636764ba02 (patch) | |
tree | 98c3f5c76d6a5e6c38690fc86000e2bd9f980894 | |
parent | 9c50b8aae2b411b253edaee77d76d297e5fa2fab (diff) | |
download | qemu-eef5fdf3d57dccc25505179f717adf636764ba02.zip qemu-eef5fdf3d57dccc25505179f717adf636764ba02.tar.gz qemu-eef5fdf3d57dccc25505179f717adf636764ba02.tar.bz2 |
soundhw: extract soundhw help to a separate function
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
-rw-r--r-- | hw/audio/soundhw.c | 33 | ||||
-rw-r--r-- | include/hw/audio/soundhw.h | 1 |
2 files changed, 20 insertions, 14 deletions
diff --git a/hw/audio/soundhw.c b/hw/audio/soundhw.c index 097501f..0fb64bd 100644 --- a/hw/audio/soundhw.c +++ b/hw/audio/soundhw.c @@ -64,6 +64,21 @@ void deprecated_register_soundhw(const char *name, const char *descr, soundhw_count++; } +void show_valid_soundhw(void) +{ + struct soundhw *c; + + if (soundhw_count) { + printf("Valid sound card names (comma separated):\n"); + for (c = soundhw; c->name; ++c) { + printf ("%-11s %s\n", c->name, c->descr); + } + } else { + printf("Machine has no user-selectable audio hardware " + "(it may or may not have always-present audio hardware).\n"); + } +} + static struct soundhw *selected = NULL; void select_soundhw(const char *optarg) @@ -75,19 +90,8 @@ void select_soundhw(const char *optarg) } if (is_help_option(optarg)) { - show_valid_cards: - - if (soundhw_count) { - printf("Valid sound card names (comma separated):\n"); - for (c = soundhw; c->name; ++c) { - printf ("%-11s %s\n", c->name, c->descr); - } - printf("\n-soundhw all will enable all of the above\n"); - } else { - printf("Machine has no user-selectable audio hardware " - "(it may or may not have always-present audio hardware).\n"); - } - exit(!is_help_option(optarg)); + show_valid_soundhw(); + exit(0); } else { for (c = soundhw; c->name; ++c) { @@ -99,7 +103,8 @@ void select_soundhw(const char *optarg) if (!c->name) { error_report("Unknown sound card name `%s'", optarg); - goto show_valid_cards; + show_valid_soundhw(); + exit(1); } } } diff --git a/include/hw/audio/soundhw.h b/include/hw/audio/soundhw.h index e68685fc..dec5c0c 100644 --- a/include/hw/audio/soundhw.h +++ b/include/hw/audio/soundhw.h @@ -7,6 +7,7 @@ void deprecated_register_soundhw(const char *name, const char *descr, int isa, const char *typename); void soundhw_init(void); +void show_valid_soundhw(void); void select_soundhw(const char *optarg); #endif |