summaryrefslogtreecommitdiff
path: root/src/nspawn/nspawn.c
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2022-12-21 16:49:03 +0100
committerLennart Poettering <lennart@poettering.net>2022-12-23 15:04:19 +0100
commitb36e39d2eb3605378f67b937b212e7bf0d5a30b3 (patch)
treea038620313bf6f76faeab612d291ae91f9c1ce82 /src/nspawn/nspawn.c
parent451f0dba60b04c6a20a82e683ba117efa609b814 (diff)
downloadsystemd-b36e39d2eb3605378f67b937b212e7bf0d5a30b3.tar.gz
nspawn: port over basename() → path_extract_filename()
Diffstat (limited to 'src/nspawn/nspawn.c')
-rw-r--r--src/nspawn/nspawn.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c
index 067efbe3f0..551f8f975c 100644
--- a/src/nspawn/nspawn.c
+++ b/src/nspawn/nspawn.c
@@ -3045,16 +3045,19 @@ static int determine_names(void) {
else if (arg_image) {
char *e;
- arg_machine = strdup(basename(arg_image));
+ r = path_extract_filename(arg_image, &arg_machine);
+ if (r < 0)
+ return log_error_errno(r, "Failed to extract file name from '%s': %m", arg_image);
/* Truncate suffix if there is one */
e = endswith(arg_machine, ".raw");
if (e)
*e = 0;
- } else
- arg_machine = strdup(basename(arg_directory));
- if (!arg_machine)
- return log_oom();
+ } else {
+ r = path_extract_filename(arg_directory, &arg_machine);
+ if (r < 0)
+ return log_error_errno(r, "Failed to extract file name from '%s': %m", arg_directory);
+ }
hostname_cleanup(arg_machine);
if (!hostname_is_valid(arg_machine, 0))