case insensitive file system location support provided by locale only
diff --git a/src/http/ngx_http_core_module.c b/src/http/ngx_http_core_module.c index 20aba86..0ddfc04 100644 --- a/src/http/ngx_http_core_module.c +++ b/src/http/ngx_http_core_module.c
@@ -1204,7 +1204,7 @@ n = (len <= (size_t) node->len) ? len : node->len; - rc = ngx_memcmp(uri, node->name, n); + rc = ngx_filename_cmp(uri, node->name, n); if (rc != 0) { node = (rc < 0) ? node->left : node->right;
diff --git a/src/os/unix/ngx_files.h b/src/os/unix/ngx_files.h index a223b34..0c080c4 100644 --- a/src/os/unix/ngx_files.h +++ b/src/os/unix/ngx_files.h
@@ -19,6 +19,8 @@ #ifdef __CYGWIN__ +#define NGX_HAVE_CASELESS_FILESYSTEM 1 + #define ngx_open_file(name, mode, create, access) \ open((const char *) name, mode|create|O_BINARY, access) @@ -103,6 +105,16 @@ #define ngx_file_uniq(sb) (sb)->st_ino +#if (NGX_HAVE_CASELESS_FILESYSTEM) + +#define ngx_filename_cmp(s1, s2, n) strncasecmp((char *) s1, (char *) s2, n) + +#else + +#define ngx_filename_cmp ngx_memcmp + +#endif + #define ngx_getcwd(buf, size) (getcwd(buf, size) != NULL) #define ngx_getcwd_n "getcwd()"
diff --git a/src/os/win32/ngx_files.h b/src/os/win32/ngx_files.h index 5f92641..0c4e14f 100644 --- a/src/os/win32/ngx_files.h +++ b/src/os/win32/ngx_files.h
@@ -123,6 +123,9 @@ - 116444736000000000) / 10000000) +#define ngx_filename_cmp(s1, s2, n) strnicmp((char *) s1, (char *) s2, n) + + #define ngx_getcwd(buf, size) GetCurrentDirectory(size, buf) #define ngx_getcwd_n "GetCurrentDirectory()" #define NGX_MAX_PATH MAX_PATH