From: Albert Brox Date: Tue, 9 Nov 2021 14:30:56 +0000 (-0500) Subject: analyze: basename -> path_extract_filename and other minor fixes X-Git-Tag: v250-rc1~322 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=437346c96b8e76703cb6381f1e1129b9f6ffa825;p=thirdparty%2Fsystemd.git analyze: basename -> path_extract_filename and other minor fixes --- diff --git a/src/analyze/analyze.c b/src/analyze/analyze.c index 2d6d327f8d8..d4c73ab86a2 100644 --- a/src/analyze/analyze.c +++ b/src/analyze/analyze.c @@ -243,27 +243,27 @@ static int process_aliases(char *argv[], char *tempdir, char ***ret) { assert(ret); STRV_FOREACH(filename, strv_skip(argv, 1)) { - _cleanup_free_ char *src = NULL, *dst = NULL, *arg = NULL; - char *parse_arg; + _cleanup_free_ char *src = NULL, *dst = NULL, *base = NULL; + const char *parse_arg; - arg = strdup(*filename); - if (!arg) - return -ENOMEM; - - parse_arg = arg; - r = extract_first_word((const char **) &parse_arg, &src, ":", 0); + parse_arg = *filename; + r = extract_first_word(&parse_arg, &src, ":", EXTRACT_DONT_COALESCE_SEPARATORS|EXTRACT_RETAIN_ESCAPE); if (r < 0) return r; if (!parse_arg) { - r = strv_extend(&filenames, src); + r = strv_consume(&filenames, TAKE_PTR(src)); if (r < 0) - return -ENOMEM; + return r; continue; } - dst = path_join(tempdir, basename(parse_arg)); + r = path_extract_filename(parse_arg, &base); + if (r < 0) + return r; + + dst = path_join(tempdir, base); if (!dst) return -ENOMEM; @@ -273,7 +273,7 @@ static int process_aliases(char *argv[], char *tempdir, char ***ret) { r = strv_consume(&filenames, TAKE_PTR(dst)); if (r < 0) - return -ENOMEM; + return r; } *ret = TAKE_PTR(filenames);