]> git.kaiwu.me - nginx.git/commitdiff
Disable symlinks: added explicit cast of AT_FDCWD (ticket #111).
authorMaxim Dounin <mdounin@mdounin.ru>
Mon, 20 Feb 2012 19:14:35 +0000 (19:14 +0000)
committerMaxim Dounin <mdounin@mdounin.ru>
Mon, 20 Feb 2012 19:14:35 +0000 (19:14 +0000)
Solaris has AT_FDCWD defined to unsigned value, and comparison of a file
descriptor with it causes warnings in modern versions of gcc.  Explicitly
cast AT_FDCWD to ngx_fd_t to resolve these warnings.

src/core/ngx_open_file_cache.c
src/os/unix/ngx_files.h

index acfc0954cdd8b62c2111405a127188bad2f6bce6..f42a16f4686d49666ef758cd36dd9cfc503bec7f 100644 (file)
@@ -582,7 +582,7 @@ ngx_open_file_wrapper(ngx_str_t *name, ngx_open_file_info_t *of,
     p = name->data;
     end = p + name->len;
 
-    at_fd = AT_FDCWD;
+    at_fd = NGX_AT_FDCWD;
     at_name = *name;
 
     if (p[0] == '/') {
@@ -632,7 +632,7 @@ ngx_open_file_wrapper(ngx_str_t *name, ngx_open_file_info_t *of,
             goto failed;
         }
 
-        if (at_fd != AT_FDCWD && ngx_close_file(at_fd) == NGX_FILE_ERROR) {
+        if (at_fd != NGX_AT_FDCWD && ngx_close_file(at_fd) == NGX_FILE_ERROR) {
             ngx_log_error(NGX_LOG_ALERT, log, ngx_errno,
                           ngx_close_file_n " \"%V\" failed", &at_name);
         }
@@ -642,7 +642,7 @@ ngx_open_file_wrapper(ngx_str_t *name, ngx_open_file_info_t *of,
         at_name.len = cp - at_name.data;
     }
 
-    if (p == end && at_fd != AT_FDCWD) {
+    if (p == end && at_fd != NGX_AT_FDCWD) {
 
         /*
          * If pathname ends with a trailing slash, check if last path
@@ -690,7 +690,7 @@ ngx_open_file_wrapper(ngx_str_t *name, ngx_open_file_info_t *of,
 
 failed:
 
-    if (at_fd != AT_FDCWD && ngx_close_file(at_fd) == NGX_FILE_ERROR) {
+    if (at_fd != NGX_AT_FDCWD && ngx_close_file(at_fd) == NGX_FILE_ERROR) {
         ngx_log_error(NGX_LOG_ALERT, log, ngx_errno,
                       ngx_close_file_n " \"%V\" failed", &at_name);
     }
index 1526f9b772742718220463e730d08916fa95f01b..d397c2fbd0c5a339be4b97e004c1a61abeaaae2e 100644 (file)
@@ -340,6 +340,8 @@ size_t ngx_fs_bsize(u_char *name);
 
 #define ngx_file_at_info_n       "fstatat()"
 
+#define NGX_AT_FDCWD             (ngx_fd_t) AT_FDCWD
+
 #endif