From 00bb6a68b1fe07aae4255a37bdebf8350c43bc17 Mon Sep 17 00:00:00 2001 From: Eric Biggers Date: Fri, 31 Aug 2012 23:47:01 -0500 Subject: [PATCH] image default names --- programs/imagex.c | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/programs/imagex.c b/programs/imagex.c index fac692f0..78eebaaa 100644 --- a/programs/imagex.c +++ b/programs/imagex.c @@ -30,6 +30,7 @@ #include #include #include +#include #include #define ARRAY_LEN(array) (sizeof(array) / sizeof(array[0])) @@ -379,6 +380,7 @@ static int imagex_append(int argc, const char **argv) WIMStruct *w; int ret; int cur_image; + char *default_name; for_opt(c, append_options) { switch (c) { @@ -414,7 +416,12 @@ static int imagex_append(int argc, const char **argv) } dir = argv[0]; wimfile = argv[1]; - name = (argc >= 3) ? argv[2] : path_basename(dir); + + char dir_copy[strlen(dir) + 1]; + memcpy(dir_copy, dir, strlen(dir) + 1); + default_name = basename(dir_copy); + + name = (argc >= 3) ? argv[2] : default_name; desc = (argc >= 4) ? argv[3] : NULL; if (config_file) { @@ -604,6 +611,7 @@ static int imagex_capture(int argc, const char **argv) size_t config_len = 0; WIMStruct *w; int cur_image; + char *default_name; int ret; for_opt(c, capture_options) { @@ -646,7 +654,12 @@ static int imagex_capture(int argc, const char **argv) } dir = argv[0]; wimfile = argv[1]; - name = (argc >= 3) ? argv[2] : dir; + + char dir_copy[strlen(dir) + 1]; + memcpy(dir_copy, dir, strlen(dir) + 1); + default_name = basename(dir_copy); + + name = (argc >= 3) ? argv[2] : default_name; desc = (argc >= 4) ? argv[3] : NULL; if (config_file) { -- 2.43.0