diff options
author | Maxim Dounin <mdounin@mdounin.ru> | 2012-03-27 20:42:34 +0400 |
---|---|---|
committer | Maxim Dounin <mdounin@mdounin.ru> | 2012-03-27 20:42:34 +0400 |
commit | 36aef0c383bfe285a12b4b826563a768efe181d6 (patch) | |
tree | 13539e52b48ec5bf8a73e58afb8923c9310f0d35 /src/os | |
parent | 7b2b17a6b3473e2d23e1ed55794fbaa416498738 (diff) |
Fixed unconditional MAX_PATH usage (ticket #22).
POSIX doesn't require it to be defined, and Debian GNU/Hurd doesn't define
it. Note that if there is no MAX_PATH defined we have to use realpath()
with NULL argument and free() the result.
Diffstat (limited to 'src/os')
-rw-r--r-- | src/os/unix/ngx_files.h | 13 | ||||
-rw-r--r-- | src/os/win32/ngx_files.h | 1 |
2 files changed, 13 insertions, 1 deletions
diff --git a/src/os/unix/ngx_files.h b/src/os/unix/ngx_files.h index ffe732c47..9c97e2bb7 100644 --- a/src/os/unix/ngx_files.h +++ b/src/os/unix/ngx_files.h @@ -200,14 +200,25 @@ void ngx_close_file_mapping(ngx_file_mapping_t *fm); #endif -#define ngx_realpath(p, r) realpath((char *) p, (char *) r) +#define ngx_realpath(p, r) (u_char *) realpath((char *) p, (char *) r) #define ngx_realpath_n "realpath()" #define ngx_getcwd(buf, size) (getcwd((char *) buf, size) != NULL) #define ngx_getcwd_n "getcwd()" #define ngx_path_separator(c) ((c) == '/') + +#if defined(PATH_MAX) + +#define NGX_HAVE_MAX_PATH 1 #define NGX_MAX_PATH PATH_MAX +#else + +#define NGX_MAX_PATH 4096 + +#endif + + #define NGX_DIR_MASK_LEN 0 diff --git a/src/os/win32/ngx_files.h b/src/os/win32/ngx_files.h index 4456c2a32..f567f190b 100644 --- a/src/os/win32/ngx_files.h +++ b/src/os/win32/ngx_files.h @@ -183,6 +183,7 @@ char *ngx_realpath(u_char *path, u_char *resolved); #define ngx_getcwd_n "GetCurrentDirectory()" #define ngx_path_separator(c) ((c) == '/' || (c) == '\\') +#define NGX_HAVE_MAX_PATH 1 #define NGX_MAX_PATH MAX_PATH #define NGX_DIR_MASK (u_char *) "/*" |