return WIMLIB_ERR_NOTDIR;
}
- p = dir_path;
- while (*p) {
+ for (p = dir_path; *p; p++)
if (*p == '/')
*p = 0xff;
- p++;
- }
ctx->unmount_to_daemon_mq_name = strcat_dup(u2d_prefix, dir_path,
NAME_MAX);
unsigned num_additional_swms,
const char *staging_dir)
{
- int argc = 0;
+ int argc;
char *argv[16];
int ret;
char *dir_copy;
if (!dir_copy)
goto out_free_message_queue_names;
+ argc = 0;
argv[argc++] = "imagex";
argv[argc++] = dir_copy;
if (ret)
ret = WIMLIB_ERR_FUSE;
+
+ /* Try to delete the staging directory if a deletion wasn't yet
+ * attempted due to an earlier error */
+ if (ctx.staging_dir_name)
+ delete_staging_dir(&ctx);
+
out_free_dir_copy:
FREE(dir_copy);
out_unlock: