xref: /openbmc/qemu/qapi/qapi-type-helpers.c (revision 01ef1c0d)
1 /*
2  * QAPI common helper functions
3  *
4  * This file provides helper functions related to types defined
5  * in the QAPI schema.
6  *
7  * This work is licensed under the terms of the GNU LGPL, version 2.1 or later.
8  * See the COPYING.LIB file in the top-level directory.
9  *
10  */
11 
12 #include "qemu/osdep.h"
13 #include "qapi/error.h"
14 #include "qapi/type-helpers.h"
15 
16 HumanReadableText *human_readable_text_from_str(GString *str)
17 {
18     HumanReadableText *ret = g_new0(HumanReadableText, 1);
19 
20     ret->human_readable_text = g_steal_pointer(&str->str);
21 
22     return ret;
23 }
24 
25 char **strv_from_str_list(const strList *list)
26 {
27     const strList *tail;
28     int i = 0;
29     char **strv = g_new(char *, QAPI_LIST_LENGTH(list) + 1);
30 
31     for (tail = list; tail != NULL; tail = tail->next) {
32         strv[i++] = g_strdup(tail->value);
33     }
34     strv[i] = NULL;
35 
36     return strv;
37 }
38