Marc-André Lureau <marcandre.lur...@gmail.com> writes: > On Fri, Oct 23, 2020 at 2:14 PM Kevin Wolf <kw...@redhat.com> wrote: > >> We'll want to call the same from a non-QemuOpts code path. >> >> Signed-off-by: Kevin Wolf <kw...@redhat.com> >> --- >> include/chardev/char.h | 1 + >> chardev/char.c | 17 +++++++++++------ >> 2 files changed, 12 insertions(+), 6 deletions(-) >> >> diff --git a/include/chardev/char.h b/include/chardev/char.h >> index db42f0a8c6..3b91645081 100644 >> --- a/include/chardev/char.h >> +++ b/include/chardev/char.h >> @@ -212,6 +212,7 @@ void qemu_chr_be_update_read_handlers(Chardev *s, >> */ >> void qemu_chr_be_event(Chardev *s, QEMUChrEvent event); >> >> +void qemu_chr_print_types(void); >> int qemu_chr_add_client(Chardev *s, int fd); >> Chardev *qemu_chr_find(const char *name); >> >> diff --git a/chardev/char.c b/chardev/char.c >> index 78553125d3..028612c333 100644 >> --- a/chardev/char.c >> +++ b/chardev/char.c >> @@ -633,6 +633,16 @@ ChardevBackend *qemu_chr_parse_opts(QemuOpts *opts, >> Error **errp) >> return backend; >> } >> >> +void qemu_chr_print_types(void) >> +{ >> + GString *str = g_string_new(""); >> > > Suggest g_auto here
g_autoptr(GList) str = ..., I presume. > + >> + chardev_name_foreach(help_string_append, str); >> + >> + qemu_printf("Available chardev backend types: %s\n", str->str); >> + g_string_free(str, true); >> +} >> + >> Chardev *qemu_chr_new_from_opts(QemuOpts *opts, GMainContext *context, >> Error **errp) >> { >> @@ -644,12 +654,7 @@ Chardev *qemu_chr_new_from_opts(QemuOpts *opts, >> GMainContext *context, >> char *bid = NULL; >> >> if (name && is_help_option(name)) { >> - GString *str = g_string_new(""); >> - >> - chardev_name_foreach(help_string_append, str); >> - >> - qemu_printf("Available chardev backend types: %s\n", str->str); >> - g_string_free(str, true); >> + qemu_chr_print_types(); >> return NULL; >> } >> >> -- >> 2.28.0 >> >> >> > anyway > Reviewed-by: Marc-André Lureau <marcandre.lur...@redhat.com> Reviewed-by: Markus Armbruster <arm...@redhat.com>