Switch to using the 'g_auto*' helpers. Signed-off-by: Yi Li <yili@xxxxxxxxxxx> --- src/util/virconf.c | 47 +++++++++++++++------------------------------- 1 file changed, 15 insertions(+), 32 deletions(-) diff --git a/src/util/virconf.c b/src/util/virconf.c index 16107bce96..17fbea2397 100644 --- a/src/util/virconf.c +++ b/src/util/virconf.c @@ -573,7 +573,7 @@ static int virConfParseComment(virConfParserCtxtPtr ctxt) { const char *base; - char *comm; + g_autofree char *comm; if (CUR != '#') return -1; @@ -581,10 +581,9 @@ virConfParseComment(virConfParserCtxtPtr ctxt) base = ctxt->cur; while ((ctxt->cur < ctxt->end) && (!IS_EOL(CUR))) NEXT; comm = g_strndup(base, ctxt->cur - base); - if (virConfAddEntry(ctxt->conf, NULL, NULL, comm) == NULL) { - VIR_FREE(comm); + if (virConfAddEntry(ctxt->conf, NULL, NULL, comm) == NULL) return -1; - } + return 0; } @@ -626,9 +625,9 @@ static int virConfParseStatement(virConfParserCtxtPtr ctxt) { const char *base; - char *name; + g_autofree char *name; virConfValuePtr value; - char *comm = NULL; + g_autofree char *comm = NULL; SKIP_BLANKS_AND_EOL; if (CUR == '#') @@ -639,16 +638,13 @@ virConfParseStatement(virConfParserCtxtPtr ctxt) SKIP_BLANKS; if (CUR != '=') { virConfError(ctxt, VIR_ERR_CONF_SYNTAX, _("expecting an assignment")); - VIR_FREE(name); return -1; } NEXT; SKIP_BLANKS; value = virConfParseValue(ctxt); - if (value == NULL) { - VIR_FREE(name); + if (value == NULL) return -1; - } SKIP_BLANKS; if (CUR == '#') { NEXT; @@ -657,9 +653,7 @@ virConfParseStatement(virConfParserCtxtPtr ctxt) comm = g_strndup(base, ctxt->cur - base); } if (virConfAddEntry(ctxt->conf, name, value, comm) == NULL) { - VIR_FREE(name); virConfFreeValue(value); - VIR_FREE(comm); return -1; } return 0; @@ -724,7 +718,7 @@ virConfParse(const char *filename, const char *content, int len, virConfPtr virConfReadFile(const char *filename, unsigned int flags) { - char *content; + g_autofree char *content; int len; virConfPtr conf; @@ -740,7 +734,6 @@ virConfReadFile(const char *filename, unsigned int flags) conf = virConfParse(filename, content, len, flags); - VIR_FREE(content); return conf; } @@ -1412,7 +1405,7 @@ virConfWriteFile(const char *filename, virConfPtr conf) virConfEntryPtr cur; int ret; int fd; - char *content; + g_autofree char *content; unsigned int use; if (conf == NULL) @@ -1433,7 +1426,6 @@ virConfWriteFile(const char *filename, virConfPtr conf) use = virBufferUse(&buf); content = virBufferContentAndReset(&buf); ret = safewrite(fd, content, use); - VIR_FREE(content); VIR_FORCE_CLOSE(fd); if (ret != (int)use) { virConfError(NULL, VIR_ERR_WRITE_FAILED, _("failed to save content")); @@ -1461,7 +1453,7 @@ virConfWriteMem(char *memory, int *len, virConfPtr conf) { g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; virConfEntryPtr cur; - char *content; + g_autofree char *content; unsigned int use; if ((memory == NULL) || (len == NULL) || (*len <= 0) || (conf == NULL)) @@ -1478,11 +1470,9 @@ virConfWriteMem(char *memory, int *len, virConfPtr conf) if ((int)use >= *len) { *len = (int)use; - VIR_FREE(content); return -1; } memcpy(memory, content, use); - VIR_FREE(content); *len = use; return use; } @@ -1505,26 +1495,19 @@ virConfLoadConfigPath(const char *name) int virConfLoadConfig(virConfPtr *conf, const char *name) { - char *path = NULL; - int ret = -1; + g_autofree char *path = NULL; *conf = NULL; if (!(path = virConfLoadConfigPath(name))) - goto cleanup; + return -1; - if (!virFileExists(path)) { - ret = 0; - goto cleanup; - } + if (!virFileExists(path)) + return 0; VIR_DEBUG("Loading config file '%s'", path); if (!(*conf = virConfReadFile(path, 0))) - goto cleanup; - - ret = 0; + return -1; - cleanup: - VIR_FREE(path); - return ret; + return 0; } -- 2.25.3