diff options
author | Igor Sysoev <igor@sysoev.ru> | 2006-04-05 13:40:54 +0000 |
---|---|---|
committer | Igor Sysoev <igor@sysoev.ru> | 2006-04-05 13:40:54 +0000 |
commit | 6d16e1e1df3e9a68b3dabd583ea2361867b9aa83 (patch) | |
tree | 1375fdd9994ce3915280665135ea29d531e284c8 /src/core/ngx_conf_file.c | |
parent | 0d20332bb895aa144d976b5deceef95df7572c6b (diff) | |
download | nginx-6d16e1e1df3e9a68b3dabd583ea2361867b9aa83.tar.gz nginx-6d16e1e1df3e9a68b3dabd583ea2361867b9aa83.zip |
nginx-0.3.36-RELEASE importrelease-0.3.36
*) Feature: the ngx_http_addition_filter_module.
*) Feature: the "proxy_pass" and "fastcgi_pass" directives may be used
inside the "if" block.
*) Feature: the "proxy_ignore_client_abort" and
"fastcgi_ignore_client_abort" directives.
*) Feature: the "$request_completion" variable.
*) Feature: the ngx_http_perl_module supports the $r->request_method
and $r->remote_addr.
*) Feature: the ngx_http_ssi_module supports the "elif" command.
*) Bugfix: the "\/" string in the expression of the "if" command of the
ngx_http_ssi_module was treated incorrectly.
*) Bugfix: in the regular expressions in the "if" command of the
ngx_http_ssi_module.
*) Bugfix: if the relative path was specified in the
"client_body_temp_path", "proxy_temp_path", "fastcgi_temp_path", and
"perl_modules" directives, then the directory was used relatively to
a current path but not to a server prefix.
Diffstat (limited to 'src/core/ngx_conf_file.c')
-rw-r--r-- | src/core/ngx_conf_file.c | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/src/core/ngx_conf_file.c b/src/core/ngx_conf_file.c index ab097c049..7c22948a3 100644 --- a/src/core/ngx_conf_file.c +++ b/src/core/ngx_conf_file.c @@ -63,6 +63,7 @@ ngx_conf_parse(ngx_conf_t *cf, ngx_str_t *filename) char *rv; ngx_fd_t fd; ngx_int_t rc; + ngx_buf_t *b; ngx_uint_t block; ngx_conf_file_t *prev; @@ -95,11 +96,23 @@ ngx_conf_parse(ngx_conf_t *cf, ngx_str_t *filename) ngx_fd_info_n " \"%s\" failed", filename->data); } - cf->conf_file->buffer = ngx_create_temp_buf(cf->pool, ngx_pagesize); - if (cf->conf_file->buffer == NULL) { + b = ngx_calloc_buf(cf->pool); + if (b == NULL) { return NGX_CONF_ERROR; } + cf->conf_file->buffer = b; + + b->start = ngx_alloc(ngx_pagesize, cf->log); + if (b->start == NULL) { + return NGX_CONF_ERROR; + } + + b->pos = b->start; + b->last = b->start; + b->end = b->last + ngx_pagesize; + b->temporary = 1; + cf->conf_file->file.fd = fd; cf->conf_file->file.name.len = filename->len; cf->conf_file->file.name.data = filename->data; @@ -183,7 +196,7 @@ ngx_conf_parse(ngx_conf_t *cf, ngx_str_t *filename) if (filename) { - ngx_pfree(cf->pool, cf->conf_file->buffer->start); + ngx_free(cf->conf_file->buffer->start); cf->conf_file = prev; |