]> git.kaiwu.me - nginx.git/commitdiff
case insensitive file system location support provided by locale only
authorIgor Sysoev <igor@sysoev.ru>
Tue, 29 Jul 2008 16:55:11 +0000 (16:55 +0000)
committerIgor Sysoev <igor@sysoev.ru>
Tue, 29 Jul 2008 16:55:11 +0000 (16:55 +0000)
src/http/ngx_http_core_module.c
src/os/unix/ngx_files.h
src/os/win32/ngx_files.h

index 20aba86533fa7123708a796e727461182daa85a0..0ddfc04d16de2e4e10a0768793f3fb0e04400766 100644 (file)
@@ -1204,7 +1204,7 @@ ngx_http_core_find_static_location(ngx_http_request_t *r,
 
         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;
index a223b34e834c4de29efa1b147747a103af9f1b51..0c080c494fe0a58c125813be4a1a3fb33e3aa537 100644 (file)
@@ -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 @@ ngx_int_t ngx_set_file_time(u_char *name, ngx_fd_t fd, time_t s);
 #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()"
index 5f926417cbc4220cca7a9bfdc89df7604df72ee9..0c4e14fa37e54c8c8c533e7a23135838dbd0d90a 100644 (file)
@@ -123,6 +123,9 @@ ngx_int_t ngx_file_info(u_char *filename, ngx_file_info_t *fi);
                                           - 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