Signed-off-by: Steve Sistare <steven.sist...@oracle.com> Reviewed-by: Marc-André Lureau <marcandre.lur...@redhat.com> --- include/qemu/strList.h | 6 ++++++ util/strList.c | 14 ++++++++++++++ 2 files changed, 20 insertions(+)
diff --git a/include/qemu/strList.h b/include/qemu/strList.h index 010237f..4b86aa6 100644 --- a/include/qemu/strList.h +++ b/include/qemu/strList.h @@ -21,4 +21,10 @@ */ strList *strList_from_string(const char *in, const char *delim); +/* + * Produce and return a NULL-terminated array of strings from @args. + * The result is g_malloc'd and all strings are g_strdup'd. + */ +GStrv strv_from_strList(const strList *args); + #endif diff --git a/util/strList.c b/util/strList.c index 7991de3..bad4187 100644 --- a/util/strList.c +++ b/util/strList.c @@ -22,3 +22,17 @@ strList *strList_from_string(const char *str, const char *delim) return res; } + +GStrv strv_from_strList(const strList *args) +{ + const strList *arg; + int i = 0; + GStrv argv = g_new(char *, QAPI_LIST_LENGTH(args) + 1); + + for (arg = args; arg != NULL; arg = arg->next) { + argv[i++] = g_strdup(arg->value); + } + argv[i] = NULL; + + return argv; +} -- 1.8.3.1