Mercurial > hg > nginx-vendor-current
diff src/http/ngx_http_script.c @ 102:f63280c59dd5 NGINX_0_2_5
nginx 0.2.5
*) Change: the duplicate value of the ngx_http_geo_module variable now
causes the warning and changes old value.
*) Feature: the ngx_http_ssi_module supports the "set" command.
*) Feature: the ngx_http_ssi_module supports the "file" parameter in
the "include" command.
*) Feature: the ngx_http_ssi_module supports the variable value
substitutions in expressions of the "if" command.
author | Igor Sysoev <http://sysoev.ru> |
---|---|
date | Tue, 04 Oct 2005 00:00:00 +0400 |
parents | 991c6e4c7654 |
children | d25a1d6034f1 |
line wrap: on
line diff
--- a/src/http/ngx_http_script.c +++ b/src/http/ngx_http_script.c @@ -361,11 +361,11 @@ ngx_http_script_copy_var_len_code(ngx_ht value = ngx_http_get_indexed_variable(e->request, code->index); - if (value == NULL || value == NGX_HTTP_VAR_NOT_FOUND) { - return 0; + if (value && value != NGX_HTTP_VAR_NOT_FOUND) { + return value->text.len; } - return value->text.len; + return 0; } @@ -382,15 +382,14 @@ ngx_http_script_copy_var_code(ngx_http_s if (!e->skip) { value = ngx_http_get_indexed_variable(e->request, code->index); - if (value == NULL || value == NGX_HTTP_VAR_NOT_FOUND) { - return; - } + if (value && value != NGX_HTTP_VAR_NOT_FOUND) { + e->pos = ngx_cpymem(e->pos, value->text.data, value->text.len); - e->pos = ngx_cpymem(e->pos, value->text.data, value->text.len); - - if (e->log) { - ngx_log_debug1(NGX_LOG_DEBUG_HTTP, e->request->connection->log, 0, - "http script var: \"%V\"", &e->buf); + if (e->log) { + ngx_log_debug1(NGX_LOG_DEBUG_HTTP, + e->request->connection->log, 0, + "http script var: \"%V\"", &e->buf); + } } } } @@ -879,19 +878,18 @@ ngx_http_script_var_code(ngx_http_script value = ngx_http_get_indexed_variable(e->request, code->index); - if (value == NULL || value == NGX_HTTP_VAR_NOT_FOUND) { - e->sp->value = 0; - e->sp->text.len = 0; - e->sp->text.data = (u_char *) ""; + if (value && value != NGX_HTTP_VAR_NOT_FOUND) { + ngx_log_debug2(NGX_LOG_DEBUG_HTTP, e->request->connection->log, 0, + "http script var: %ui, \"%V\"", value->value, &value->text); + *e->sp = *value; e->sp++; return; } - ngx_log_debug2(NGX_LOG_DEBUG_HTTP, e->request->connection->log, 0, - "http script var: %ui, \"%V\"", value->value, &value->text); - - *e->sp = *value; + e->sp->value = 0; + e->sp->text.len = 0; + e->sp->text.data = (u_char *) ""; e->sp++; }