NGX_ENOPATH
diff --git a/src/core/ngx_file.c b/src/core/ngx_file.c index 19ed86d..2b9e8b3 100644 --- a/src/core/ngx_file.c +++ b/src/core/ngx_file.c
@@ -99,13 +99,7 @@ continue; } - if ((path->level[0] == 0) - || (err != NGX_ENOENT -#if (NGX_WIN32) - && err != NGX_ENOTDIR -#endif - )) - { + if ((path->level[0] == 0) || (err != NGX_ENOPATH)) { ngx_log_error(NGX_LOG_CRIT, file->log, err, ngx_open_tempfile_n " \"%s\" failed", file->name.data); @@ -560,14 +554,8 @@ err = ngx_errno; - if (err -#if (NGX_WIN32) - == ERROR_PATH_NOT_FOUND -#else - == NGX_ENOENT -#endif - ) - { + if (err == NGX_ENOPATH) { + if (!ext->create_path) { goto failed; }
diff --git a/src/os/unix/ngx_errno.h b/src/os/unix/ngx_errno.h index 3dbfa22..379f367 100644 --- a/src/os/unix/ngx_errno.h +++ b/src/os/unix/ngx_errno.h
@@ -16,6 +16,7 @@ #define NGX_EPERM EPERM #define NGX_ENOENT ENOENT +#define NGX_ENOPATH ENOENT #define NGX_ESRCH ESRCH #define NGX_EINTR EINTR #define NGX_ECHILD ECHILD
diff --git a/src/os/win32/ngx_errno.h b/src/os/win32/ngx_errno.h index 75ae73f..e5e1a37 100644 --- a/src/os/win32/ngx_errno.h +++ b/src/os/win32/ngx_errno.h
@@ -21,6 +21,7 @@ #define NGX_EPERM ERROR_ACCESS_DENIED #define NGX_ENOENT ERROR_FILE_NOT_FOUND +#define NGX_ENOPATH ERROR_PATH_NOT_FOUND #define NGX_ENOMEM ERROR_NOT_ENOUGH_MEMORY #define NGX_EACCES ERROR_ACCESS_DENIED /* it's seems that ERROR_FILE_EXISTS is not appropriate error code */