summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaxim Dounin <mdounin@mdounin.ru>2016-03-29 09:52:15 +0300
committerMaxim Dounin <mdounin@mdounin.ru>2016-03-29 09:52:15 +0300
commitd25903274139c9af2626f46f9d884f3e6fc81d74 (patch)
treef1446b8a5edae1b809e1cab8d89ab4c031e20109
parent6871615528044ff3dce2bf2abdf862d1178a2c9e (diff)
downloadnginx-d25903274139c9af2626f46f9d884f3e6fc81d74.tar.gz
Win32: replaced NGX_EXDEV with more appropriate error code.
Correct error code for NGX_EXDEV on Windows is ERROR_NOT_SAME_DEVICE, "The system cannot move the file to a different disk drive". Previously used ERROR_WRONG_DISK is about wrong diskette in the drive and is not appropriate. There is no real difference though, as MoveFile() is able to copy files between disk drives, and will fail with ERROR_ACCESS_DENIED when asked to copy directories. The ERROR_NOT_SAME_DEVICE error is only used by MoveFileEx() when called without the MOVEFILE_COPY_ALLOWED flag.
-rw-r--r--src/os/win32/ngx_errno.h6
1 files changed, 1 insertions, 5 deletions
diff --git a/src/os/win32/ngx_errno.h b/src/os/win32/ngx_errno.h
index 02245e440..255a39d53 100644
--- a/src/os/win32/ngx_errno.h
+++ b/src/os/win32/ngx_errno.h
@@ -33,11 +33,7 @@ typedef DWORD ngx_err_t;
*/
#define NGX_EEXIST ERROR_ALREADY_EXISTS
#define NGX_EEXIST_FILE ERROR_FILE_EXISTS
-/*
- * could not found cross volume directory move error code,
- * so use ERROR_WRONG_DISK as stub one
- */
-#define NGX_EXDEV ERROR_WRONG_DISK
+#define NGX_EXDEV ERROR_NOT_SAME_DEVICE
#define NGX_ENOTDIR ERROR_PATH_NOT_FOUND
#define NGX_EISDIR ERROR_CANNOT_MAKE
#define NGX_ENOSPC ERROR_DISK_FULL