Mercurial > hg > nginx-quic
diff src/core/ngx_log.c @ 2765:6d358aeaa989
ngx_log_errno()
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Mon, 27 Apr 2009 13:17:33 +0000 |
parents | d4a717592877 |
children | 9d986c4e796f |
line wrap: on
line diff
--- a/src/core/ngx_log.c +++ b/src/core/ngx_log.c @@ -126,29 +126,7 @@ ngx_log_error_core(ngx_uint_t level, ngx #endif if (err) { - - if (p > last - 50) { - - /* leave a space for an error code */ - - p = last - 50; - *p++ = '.'; - *p++ = '.'; - *p++ = '.'; - } - -#if (NGX_WIN32) - p = ngx_slprintf(p, last, ((unsigned) err < 0x80000000) - ? " (%d: " : " (%Xd: ", err); -#else - p = ngx_slprintf(p, last, " (%d: ", err); -#endif - - p = ngx_strerror_r(err, p, last - p); - - if (p < last) { - *p++ = ')'; - } + p = ngx_log_errno(p, last, err); } if (level != NGX_LOG_DEBUG && log->handler) { @@ -236,34 +214,12 @@ ngx_log_stderr(ngx_err_t err, const char p = ngx_vslprintf(errstr, last, fmt, args); va_end(args); - if (p > errstr + NGX_MAX_ERROR_STR - NGX_LINEFEED_SIZE) { - p = errstr + NGX_MAX_ERROR_STR - NGX_LINEFEED_SIZE; + if (err) { + p = ngx_log_errno(p, last, err); } - if (err) { - - if (p > last - 50) { - - /* leave a space for an error code */ - - p = last - 50; - *p++ = '.'; - *p++ = '.'; - *p++ = '.'; - } - -#if (NGX_WIN32) - p = ngx_slprintf(p, last, ((unsigned) err < 0x80000000) - ? " (%d: " : " (%Xd: ", err); -#else - p = ngx_slprintf(p, last, " (%d: ", err); -#endif - - p = ngx_strerror_r(err, p, last - p); - - if (p < last) { - *p++ = ')'; - } + if (p > last - NGX_LINEFEED_SIZE) { + p = last - NGX_LINEFEED_SIZE; } ngx_linefeed(p); @@ -272,6 +228,36 @@ ngx_log_stderr(ngx_err_t err, const char } +u_char * +ngx_log_errno(u_char *buf, u_char *last, ngx_err_t err) +{ + if (buf > last - 50) { + + /* leave a space for an error code */ + + buf = last - 50; + *buf++ = '.'; + *buf++ = '.'; + *buf++ = '.'; + } + +#if (NGX_WIN32) + buf = ngx_slprintf(buf, last, ((unsigned) err < 0x80000000) + ? " (%d: " : " (%Xd: ", err); +#else + buf = ngx_slprintf(buf, last, " (%d: ", err); +#endif + + buf = ngx_strerror_r(err, buf, last - buf); + + if (buf < last) { + *buf++ = ')'; + } + + return buf; +} + + ngx_log_t * ngx_log_init(u_char *prefix) {