@@ -33,6 +33,12 @@ bool qapi_bool_parse(const char *name, const char *value, bool *obj,
int parse_qapi_name(const char *name, bool complete);
/*
+ * Produce and return a NULL-terminated array of strings from @args.
+ * All strings are g_strdup'd.
+ */
+GStrv strv_from_strList(const struct strList *args);
+
+/*
* Produce a strList from the character delimited string @in.
* All strings are g_strdup'd.
* A NULL or empty input string returns NULL.
@@ -154,6 +154,20 @@ int parse_qapi_name(const char *str, bool complete)
return p - str;
}
+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;
+}
+
strList *strList_from_string(const char *in, char delim)
{
strList *res = NULL;