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 0f26116..c1eb1dd 100644 --- a/include/qemu/strList.h +++ b/include/qemu/strList.h @@ -21,4 +21,10 @@ */ strList *str_split(const char *str, const char *delim); +/* + * Produce and return a NULL-terminated array of strings from @list. + * The result is g_malloc'd and all strings are g_strdup'd. + */ +char **strv_from_strList(const strList *list); + #endif diff --git a/util/strList.c b/util/strList.c index 7588c7c..6da6762 100644 --- a/util/strList.c +++ b/util/strList.c @@ -22,3 +22,17 @@ strList *str_split(const char *str, const char *delim) return res; } + +char **strv_from_strList(const strList *list) +{ + const strList *tail; + int i = 0; + char **argv = g_new(char *, QAPI_LIST_LENGTH(list) + 1); + + for (tail = list; tail != NULL; tail = tail->next) { + argv[i++] = g_strdup(tail->value); + } + argv[i] = NULL; + + return argv; +} -- 1.8.3.1