From 8ec919d16f63aeed10e71a49b1dc2fbbdb244d73 Mon Sep 17 00:00:00 2001 From: Igor Sysoev Date: Wed, 1 Apr 2009 15:47:12 +0000 Subject: 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 --- src/os/unix/ngx_errno.c | 10 ++++++---- src/os/win32/ngx_errno.c | 3 ++- src/os/win32/ngx_gui.c | 9 ++------- 3 files changed, 10 insertions(+), 12 deletions(-) (limited to 'src/os') diff --git a/src/os/unix/ngx_errno.c b/src/os/unix/ngx_errno.c index a3addf00c..a250f496d 100644 --- a/src/os/unix/ngx_errno.c +++ b/src/os/unix/ngx_errno.c @@ -10,10 +10,11 @@ #if (NGX_HAVE_STRERROR_R) -u_char *ngx_strerror_r(int err, u_char *errstr, size_t size) +u_char * +ngx_strerror_r(int err, u_char *errstr, size_t size) { if (size == 0) { - return 0; + return errstr; } errstr[0] = '\0'; @@ -32,12 +33,13 @@ u_char *ngx_strerror_r(int err, u_char *errstr, size_t size) /* Linux strerror_r() */ -u_char *ngx_strerror_r(int err, u_char *errstr, size_t size) +u_char * +ngx_strerror_r(int err, u_char *errstr, size_t size) { char *str; if (size == 0) { - return 0; + return errstr; } errstr[0] = '\0'; diff --git a/src/os/win32/ngx_errno.c b/src/os/win32/ngx_errno.c index 268ed5261..12af325c7 100644 --- a/src/os/win32/ngx_errno.c +++ b/src/os/win32/ngx_errno.c @@ -91,7 +91,8 @@ static ngx_str_t wsa_errors[] = { }; -u_char *ngx_strerror_r(ngx_err_t err, u_char *errstr, size_t size) +u_char * +ngx_strerror_r(ngx_err_t err, u_char *errstr, size_t size) { int n; u_int len; diff --git a/src/os/win32/ngx_gui.c b/src/os/win32/ngx_gui.c index 138d44a6b..ba6564560 100644 --- a/src/os/win32/ngx_gui.c +++ b/src/os/win32/ngx_gui.c @@ -36,13 +36,8 @@ ngx_message_box(char *title, ngx_uint_t type, ngx_err_t err, *p++ = '.'; } - if ((unsigned) err >= 0x80000000) { - p = ngx_snprintf(p, last - p, " (%Xd: ", err); - - } else { - p = ngx_snprintf(p, last - p, " (%d: ", err); - } - + p = ngx_snprintf(p, last - p, ((unsigned) err < 0x80000000) + ? " (%d: " : " (%Xd: ", err); p = ngx_strerror_r(err, p, last - p); if (p < last) { -- cgit