# HG changeset patch # User Igor Sysoev # Date 1240157169 0 # Node ID ffa8e2451457a06a378a78fccb69dc74fa29e586 # Parent 8e720b7fe6d215985025166f88f3d3f5d400bb3b show -t results on stderr diff --git a/src/core/nginx.c b/src/core/nginx.c --- a/src/core/nginx.c +++ b/src/core/nginx.c @@ -191,8 +191,6 @@ static char **ngx_os_environ; int ngx_cdecl main(int argc, char *const *argv) { - char *p; - ssize_t n; ngx_int_t i; ngx_log_t *log; ngx_cycle_t *cycle, init_cycle; @@ -243,29 +241,14 @@ main(int argc, char *const *argv) if (ngx_show_version) { - p = "nginx version: " NGINX_VER CRLF; - n = sizeof("nginx version: " NGINX_VER CRLF) - 1; - - if (ngx_write_fd(ngx_stderr_fileno, p, n) != n) { - return 1; - } + ngx_log_stderr("nginx version: " NGINX_VER); if (ngx_show_configure) { #ifdef NGX_COMPILER - p = "built by " NGX_COMPILER CRLF; - n = sizeof("built by " NGX_COMPILER CRLF) - 1; - - if (ngx_write_fd(ngx_stderr_fileno, p, n) != n) { - return 1; - } + ngx_log_stderr("built by " NGX_COMPILER); #endif - p = "configure arguments: " NGX_CONFIGURE CRLF; - n = sizeof("configure arguments :" NGX_CONFIGURE CRLF) - 1; - - if (ngx_write_fd(ngx_stderr_fileno, p, n) != n) { - return 1; - } + ngx_log_stderr("configure arguments: " NGX_CONFIGURE); } if (!ngx_test_config) { @@ -301,18 +284,16 @@ main(int argc, char *const *argv) cycle = ngx_init_cycle(&init_cycle); if (cycle == NULL) { if (ngx_test_config) { - ngx_log_error(NGX_LOG_EMERG, log, 0, - "the configuration file %s test failed", - init_cycle.conf_file.data); + ngx_log_stderr("the configuration file %s test failed", + init_cycle.conf_file.data); } return 1; } if (ngx_test_config) { - ngx_log_error(NGX_LOG_INFO, log, 0, - "the configuration file %s was tested successfully", - cycle->conf_file.data); + ngx_log_stderr("the configuration file %s was tested successfully", + cycle->conf_file.data); return 0; } diff --git a/src/core/ngx_cycle.c b/src/core/ngx_cycle.c --- a/src/core/ngx_cycle.c +++ b/src/core/ngx_cycle.c @@ -270,9 +270,8 @@ ngx_init_cycle(ngx_cycle_t *old_cycle) } if (ngx_test_config) { - ngx_log_error(NGX_LOG_INFO, log, 0, - "the configuration file %s syntax is ok", - cycle->conf_file.data); + ngx_log_stderr("the configuration file %s syntax is ok", + cycle->conf_file.data); } diff --git a/src/core/ngx_log.c b/src/core/ngx_log.c --- a/src/core/ngx_log.c +++ b/src/core/ngx_log.c @@ -190,6 +190,27 @@ ngx_log_abort(ngx_err_t err, const char } +void ngx_cdecl +ngx_log_stderr(const char *fmt, ...) +{ + u_char *p; + va_list args; + u_char errstr[NGX_MAX_ERROR_STR]; + + va_start(args, fmt); + p = ngx_vsnprintf(errstr, NGX_MAX_ERROR_STR, fmt, args); + va_end(args); + + if (p > errstr + NGX_MAX_ERROR_STR - NGX_LINEFEED_SIZE) { + p = errstr + NGX_MAX_ERROR_STR - NGX_LINEFEED_SIZE; + } + + ngx_linefeed(p); + + (void) ngx_write_fd(ngx_stderr_fileno, errstr, p - errstr); +} + + ngx_log_t * ngx_log_init(void) { diff --git a/src/core/ngx_log.h b/src/core/ngx_log.h --- a/src/core/ngx_log.h +++ b/src/core/ngx_log.h @@ -199,6 +199,7 @@ ngx_log_t *ngx_log_init(void); ngx_log_t *ngx_log_create_errlog(ngx_cycle_t *cycle, ngx_array_t *args); char *ngx_set_error_log_levels(ngx_conf_t *cf, ngx_log_t *log); void ngx_log_abort(ngx_err_t err, const char *text, void *param); +void ngx_cdecl ngx_log_stderr(const char *fmt, ...); extern ngx_module_t ngx_errlog_module;