comparison src/os/unix/ngx_errno.c @ 2638:a3f062177dba stable-0.6

r2336, r2337, r2339, r2390 merge: bugfixes in error logging: *) ngx_strerror_r() style and size == 0 bug fix *) increase ngx_conf_log_error() buffer *) always log an error code *) fix segfault on close error *) compact win32 errno logging
author Igor Sysoev <igor@sysoev.ru>
date Wed, 01 Apr 2009 15:47:12 +0000
parents d4ea69372b94
children e294f37401c0
comparison
equal deleted inserted replaced
2637:8e4450668968 2638:a3f062177dba
8 #include <ngx_core.h> 8 #include <ngx_core.h>
9 9
10 10
11 #if (NGX_HAVE_STRERROR_R) 11 #if (NGX_HAVE_STRERROR_R)
12 12
13 u_char *ngx_strerror_r(int err, u_char *errstr, size_t size) 13 u_char *
14 ngx_strerror_r(int err, u_char *errstr, size_t size)
14 { 15 {
15 if (size == 0) { 16 if (size == 0) {
16 return 0; 17 return errstr;
17 } 18 }
18 19
19 errstr[0] = '\0'; 20 errstr[0] = '\0';
20 21
21 strerror_r(err, (char *) errstr, size); 22 strerror_r(err, (char *) errstr, size);
30 31
31 #elif (NGX_HAVE_GNU_STRERROR_R) 32 #elif (NGX_HAVE_GNU_STRERROR_R)
32 33
33 /* Linux strerror_r() */ 34 /* Linux strerror_r() */
34 35
35 u_char *ngx_strerror_r(int err, u_char *errstr, size_t size) 36 u_char *
37 ngx_strerror_r(int err, u_char *errstr, size_t size)
36 { 38 {
37 char *str; 39 char *str;
38 40
39 if (size == 0) { 41 if (size == 0) {
40 return 0; 42 return errstr;
41 } 43 }
42 44
43 errstr[0] = '\0'; 45 errstr[0] = '\0';
44 46
45 str = strerror_r(err, (char *) errstr, size); 47 str = strerror_r(err, (char *) errstr, size);