changeset 2722:ffa8e2451457

show -t results on stderr
author Igor Sysoev <igor@sysoev.ru>
date Sun, 19 Apr 2009 16:06:09 +0000
parents 8e720b7fe6d2
children 53be1d485af9
files src/core/nginx.c src/core/ngx_cycle.c src/core/ngx_log.c src/core/ngx_log.h
diffstat 4 files changed, 31 insertions(+), 29 deletions(-) [+]
line wrap: on
line diff
--- 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;
     }
 
--- 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);
     }
 
 
--- 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)
 {
--- 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;