Mercurial > hg > nginx
diff src/core/ngx_conf_file.c @ 119:cd54bcbaf3b5
nginx-0.0.1-2003-07-21-01:15:59 import
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Sun, 20 Jul 2003 21:15:59 +0000 |
parents | 5bf52498665c |
children | 656d468f4ead |
line wrap: on
line diff
--- a/src/core/ngx_conf_file.c Fri Jul 18 14:44:05 2003 +0000 +++ b/src/core/ngx_conf_file.c Sun Jul 20 21:15:59 2003 +0000 @@ -3,8 +3,8 @@ #include <ngx_core.h> -char ngx_conf_errstr[MAX_CONF_ERRSTR]; +#define MAX_CONF_ERRSTR 256 static int argument_number[] = { NGX_CONF_NOARGS, @@ -212,19 +212,11 @@ break; } else { - if (rv == ngx_conf_errstr) { - ngx_log_error(NGX_LOG_EMERG, cf->log, 0, - "%s in %s:%d", - rv, - cf->conf_file->file.name.data, - cf->conf_file->line); - } else { - ngx_log_error(NGX_LOG_EMERG, cf->log, 0, - "\"%s\" directive %s in %s:%d", - name->data, rv, - cf->conf_file->file.name.data, - cf->conf_file->line); - } + ngx_log_error(NGX_LOG_EMERG, cf->log, 0, + "\"%s\" directive %s in %s:%d", + name->data, rv, + cf->conf_file->file.name.data, + cf->conf_file->line); rc = NGX_ERROR; break; @@ -475,6 +467,34 @@ } +ngx_open_file_t *ngx_conf_open_file(ngx_cycle_t *cycle, ngx_str_t *name) +{ + int i; + ngx_open_file_t *file; + + if (name) { + file = cycle->open_files.elts; + for (i = 0; i < cycle->open_files.nelts; i++) { + if (name->len != file[i].name.len) { + continue; + } + + if (ngx_strcmp(name->data, file[i].name.data) == 0) { + return &file[i]; + } + } + } + + ngx_test_null(file, ngx_push_array(&cycle->open_files), NULL); + file->fd = NGX_INVALID_FILE; + if (name) { + file->name = *name; + } + + return file; +} + + void ngx_conf_log_error(int level, ngx_conf_t *cf, ngx_err_t err, char *fmt, ...) { @@ -526,10 +546,11 @@ flag = 0; } else { - ngx_snprintf(ngx_conf_errstr, sizeof(ngx_conf_errstr) - 1, - "invalid value \"%s\", it must be \"on\" or \"off\"", - value[1].data); - return ngx_conf_errstr; + ngx_conf_log_error(NGX_LOG_EMERG, cf, 0, + "invalid value \"%s\" in \"%s\" directive, " + "it must be \"on\" or \"off\"", + value[1].data, cmd->name.data); + return NGX_CONF_ERROR; } *(int *) (p + cmd->offset) = flag;