#include <glob.h>
#include <string.h>
#include <errno.h>
+#include <libgen.h>
#include <sys/stat.h>
#define ARRAY_LEN(array) (sizeof(array) / sizeof(array[0]))
WIMStruct *w;
int ret;
int cur_image;
+ char *default_name;
for_opt(c, append_options) {
switch (c) {
}
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) {
size_t config_len = 0;
WIMStruct *w;
int cur_image;
+ char *default_name;
int ret;
for_opt(c, capture_options) {
}
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) {