diff src/core/ngx_conf_file.c @ 118:5bf52498665c

nginx-0.0.1-2003-07-18-18:44:05 import
author Igor Sysoev <igor@sysoev.ru>
date Fri, 18 Jul 2003 14:44:05 +0000
parents f6e3c5d019b6
children cd54bcbaf3b5
line wrap: on
line diff
--- a/src/core/ngx_conf_file.c
+++ b/src/core/ngx_conf_file.c
@@ -127,6 +127,7 @@ ngx_log_debug(cf->log, "token %d" _ rc);
                     && ngx_strcmp(name->data, cmd->name.data) == 0)
                 {
 
+                    found = 1;
 #if 0
 ngx_log_debug(cf->log, "command '%s'" _ cmd->name.data);
 #endif
@@ -204,7 +205,6 @@ ngx_log_debug(cf->log, "rv: %d" _ rv);
 #endif
 
                     if (rv == NGX_CONF_OK) {
-                        found = 1;
                         break;
 
                     } else if (rv == NGX_CONF_ERROR) {
@@ -220,7 +220,7 @@ ngx_log_debug(cf->log, "rv: %d" _ rv);
                                          cf->conf_file->line);
                         } else {
                             ngx_log_error(NGX_LOG_EMERG, cf->log, 0,
-                                         "%s %s in %s:%d",
+                                         "\"%s\" directive %s in %s:%d",
                                          name->data, rv,
                                          cf->conf_file->file.name.data,
                                          cf->conf_file->line);
@@ -245,6 +245,10 @@ ngx_log_debug(cf->log, "rv: %d" _ rv);
             rc = NGX_ERROR;
             break;
         }
+
+        if (rc == NGX_ERROR) {
+            break;
+        }
     }
 
     if (filename) {
@@ -471,6 +475,30 @@ ngx_log_debug(cf->log, "FOUND %d:'%s'" _
 }
 
 
+void ngx_conf_log_error(int level, ngx_conf_t *cf, ngx_err_t err,
+                        char *fmt, ...)
+{
+    int      len;
+    char     errstr[MAX_CONF_ERRSTR];
+    va_list  args;
+
+    va_start(args, fmt);
+    len = ngx_vsnprintf(errstr, sizeof(errstr) - 1, fmt, args);
+    va_end(args);
+
+    if (err) {
+        len += ngx_snprintf(errstr + len, sizeof(errstr) - len - 1,
+                            " (%d: ", err);
+        len += ngx_strerror_r(err, errstr + len, sizeof(errstr) - len - 1);
+        errstr[len++] = ')';
+        errstr[len++] = '\0';
+    }
+
+    ngx_log_error(level, cf->log, 0, "%s in %s:%d",
+                  errstr, cf->conf_file->file.name.data, cf->conf_file->line);
+}
+
+
 char *ngx_conf_set_core_flag_slot(ngx_conf_t *cf, ngx_command_t *cmd,
                                   void *conf)
 {