X-Git-Url: https://wimlib.net/git/?p=wimlib;a=blobdiff_plain;f=src%2Fupdate_image.c;h=7247b1c06b8fb61064974f21c27e0baa670d1964;hp=ecfef1fffa7bcc764edfc52fe318c1a3f37162ba;hb=12d47b06960d51e4f254ebbc882b05445c992f1d;hpb=64ddeb4c0021c6d8e828c9f27d0a14729436bd6e diff --git a/src/update_image.c b/src/update_image.c index ecfef1ff..7247b1c0 100644 --- a/src/update_image.c +++ b/src/update_image.c @@ -403,20 +403,25 @@ execute_rename_command(WIMStruct *wim, ret = rename_wim_path(wim, rename_cmd->rename.wim_source_path, rename_cmd->rename.wim_target_path); if (ret) { + ret = -ret; + errno = ret; + ERROR_WITH_ERRNO("Can't rename \"%"TS"\" to \"%"TS"\"", + rename_cmd->rename.wim_source_path, + rename_cmd->rename.wim_target_path); switch (ret) { - case -ENOMEM: + case ENOMEM: ret = WIMLIB_ERR_NOMEM; break; - case -ENOTDIR: + case ENOTDIR: ret = WIMLIB_ERR_NOTDIR; break; - case -ENOTEMPTY: + case ENOTEMPTY: ret = WIMLIB_ERR_NOTEMPTY; break; - case -EISDIR: + case EISDIR: ret = WIMLIB_ERR_IS_DIRECTORY; break; - case -ENOENT: + case ENOENT: default: ret = WIMLIB_ERR_PATH_DOES_NOT_EXIST; break; @@ -436,7 +441,7 @@ update_op_to_str(int op) case WIMLIB_UPDATE_OP_RENAME: return T("rename"); default: - return T("???"); + wimlib_assert(0); } } @@ -456,15 +461,12 @@ execute_update_commands(WIMStruct *wim, break; case WIMLIB_UPDATE_OP_DELETE: ret = execute_delete_command(wim, &cmds[i]); - if (ret == 0) - wim->deletion_occurred = 1; break; case WIMLIB_UPDATE_OP_RENAME: ret = execute_rename_command(wim, &cmds[i]); break; default: wimlib_assert(0); - break; } if (ret) break; @@ -593,8 +595,6 @@ free_update_commands(struct wimlib_update_command *cmds, size_t num_cmds) FREE(cmds[i].rename.wim_source_path); FREE(cmds[i].rename.wim_target_path); break; - default: - wimlib_assert(0); } } FREE(cmds);