#define qemuMonitorJSONMakeCommand(cmdname, ...) \
qemuMonitorJSONMakeCommandRaw(false, cmdname, __VA_ARGS__)
-static void
-qemuFreeKeywords(int nkeywords, char **keywords, char **values)
-{
- size_t i;
- for (i = 0; i < nkeywords; i++) {
- VIR_FREE(keywords[i]);
- VIR_FREE(values[i]);
- }
- VIR_FREE(keywords);
- VIR_FREE(values);
-}
static virJSONValuePtr
qemuMonitorJSONKeywordStringToJSON(const char *str, const char *firstkeyword)
}
}
- qemuFreeKeywords(nkeywords, keywords, values);
+ qemuParseKeywordsFree(nkeywords, keywords, values);
return ret;
error:
- qemuFreeKeywords(nkeywords, keywords, values);
+ qemuParseKeywordsFree(nkeywords, keywords, values);
virJSONValueFree(ret);
return NULL;
}
return NULL;
}
+
+void
+qemuParseKeywordsFree(int nkeywords,
+ char **keywords,
+ char **values)
+{
+ size_t i;
+ for (i = 0; i < nkeywords; i++) {
+ VIR_FREE(keywords[i]);
+ VIR_FREE(values[i]);
+ }
+ VIR_FREE(keywords);
+ VIR_FREE(values);
+}
+
+
/*
* Takes a string containing a set of key=value,key=value,key...
* parameters and splits them up, returning two arrays with
char **values = NULL;
const char *start = str;
const char *end;
- size_t i;
*retkeywords = NULL;
*retvalues = NULL;
return 0;
error:
- for (i = 0; i < keywordCount; i++) {
- VIR_FREE(keywords[i]);
- VIR_FREE(values[i]);
- }
- VIR_FREE(keywords);
- VIR_FREE(values);
+ qemuParseKeywordsFree(keywordCount, keywords, values);
return -1;
}
}
cleanup:
- for (i = 0; i < nkeywords; i++) {
- VIR_FREE(keywords[i]);
- VIR_FREE(values[i]);
- }
- VIR_FREE(keywords);
- VIR_FREE(values);
+ qemuParseKeywordsFree(nkeywords, keywords, values);
return def;
error:
virDomainNetGenerateMAC(xmlopt, &def->mac);
cleanup:
- for (i = 0; i < nkeywords; i++) {
- VIR_FREE(keywords[i]);
- VIR_FREE(values[i]);
- }
- VIR_FREE(keywords);
- VIR_FREE(values);
+ qemuParseKeywordsFree(nkeywords, keywords, values);
return def;
error:
ret = 0;
cleanup:
- for (i = 0; i < nkws; i++) {
- VIR_FREE(kws[i]);
- VIR_FREE(vals[i]);
- }
- VIR_FREE(kws);
- VIR_FREE(vals);
-
+ qemuParseKeywordsFree(nkws, kws, vals);
return ret;
}
ret = 0;
cleanup:
- for (i = 0; i < nkws; i++) {
- VIR_FREE(kws[i]);
- VIR_FREE(vals[i]);
- }
- VIR_FREE(kws);
- VIR_FREE(vals);
-
+ qemuParseKeywordsFree(nkws, kws, vals);
return ret;
syntax:
virDomainChrSourceDefPtr *monConfig,
bool *monJSON);
+void
+qemuParseKeywordsFree(int nkeywords,
+ char **keywords,
+ char **values);
+
int
qemuParseKeywords(const char *str,
char ***retkeywords,