diff mbox series

[2/6] char: Factor out qemu_chr_print_types()

Message ID 20201023101222.250147-3-kwolf@redhat.com
State New
Headers show
Series qemu-storage-daemon: QAPIfy --chardev | expand

Commit Message

Kevin Wolf Oct. 23, 2020, 10:12 a.m. UTC
We'll want to call the same from a non-QemuOpts code path.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
---
 include/chardev/char.h |  1 +
 chardev/char.c         | 17 +++++++++++------
 2 files changed, 12 insertions(+), 6 deletions(-)

Comments

Marc-André Lureau Oct. 23, 2020, 10:38 a.m. UTC | #1
On Fri, Oct 23, 2020 at 2:14 PM Kevin Wolf <kwolf@redhat.com> wrote:

> We'll want to call the same from a non-QemuOpts code path.
>
> Signed-off-by: Kevin Wolf <kwolf@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

+
> +    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.lureau@redhat.com>
Markus Armbruster Oct. 23, 2020, 12:15 p.m. UTC | #2
Marc-André Lureau <marcandre.lureau@gmail.com> writes:

> On Fri, Oct 23, 2020 at 2:14 PM Kevin Wolf <kwolf@redhat.com> wrote:
>
>> We'll want to call the same from a non-QemuOpts code path.
>>
>> Signed-off-by: Kevin Wolf <kwolf@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.lureau@redhat.com>

Reviewed-by: Markus Armbruster <armbru@redhat.com>
diff mbox series

Patch

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("");
+
+    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;
     }