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 */