} state = WORD;
const char *e, *word = format;
- char *r = NULL, *k;
+ char *k;
+ _cleanup_free_ char *r = NULL;
assert(format);
if (*e == '{') {
k = strnappend(r, word, e-word-1);
if (!k)
- goto fail;
+ return NULL;
free(r);
r = k;
} else if (*e == '$') {
k = strnappend(r, word, e-word);
if (!k)
- goto fail;
+ return NULL;
free(r);
r = k;
k = strappend(r, t);
if (!k)
- goto fail;
+ return NULL;
free(r);
r = k;
}
}
- k = strnappend(r, word, e-word);
- if (!k)
- goto fail;
-
- free(r);
- return k;
-
-fail:
- return mfree(r);
+ return strnappend(r, word, e-word);
}
char **replace_env_argv(char **argv, char **env) {