Mercurial > hg > nginx
changeset 1406:03341711f9a2
use %v for ngx_variable_value_t in ngx_sprintf(),
this fixes nginx on FreeBSD/sparc64
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Mon, 20 Aug 2007 09:57:19 +0000 |
parents | fdd064faf26a |
children | 6e99e8c71bde |
files | src/core/ngx_string.c src/http/modules/ngx_http_geo_module.c src/http/modules/ngx_http_limit_zone_module.c src/http/modules/ngx_http_map_module.c src/http/ngx_http_script.c |
diffstat | 5 files changed, 24 insertions(+), 12 deletions(-) [+] |
line wrap: on
line diff
--- a/src/core/ngx_string.c Mon Aug 20 09:50:53 2007 +0000 +++ b/src/core/ngx_string.c Mon Aug 20 09:57:19 2007 +0000 @@ -59,8 +59,9 @@ * %P ngx_pid_t * %M ngx_msec_t * %r rlim_t - * %p pointer - * %V pointer to ngx_str_t + * %p void * + * %V ngx_str_t * + * %v ngx_variable_value_t * * %s null-terminated string * %Z '\0' * %N '\n' @@ -117,7 +118,8 @@ uint64_t ui64; ngx_msec_t ms; ngx_uint_t width, sign, hexadecimal, max_width; - ngx_variable_value_t *v; + ngx_str_t *v; + ngx_variable_value_t *vv; static u_char hex[] = "0123456789abcdef"; static u_char HEX[] = "0123456789ABCDEF"; @@ -188,7 +190,7 @@ switch (*fmt) { case 'V': - v = va_arg(args, ngx_variable_value_t *); + v = va_arg(args, ngx_str_t *); len = v->len; len = (buf + len < last) ? len : (size_t) (last - buf); @@ -198,6 +200,17 @@ continue; + case 'v': + vv = va_arg(args, ngx_variable_value_t *); + + len = vv->len; + len = (buf + len < last) ? len : (size_t) (last - buf); + + buf = ngx_cpymem(buf, vv->data, len); + fmt++; + + continue; + case 's': p = va_arg(args, u_char *);
--- a/src/http/modules/ngx_http_geo_module.c Mon Aug 20 09:50:53 2007 +0000 +++ b/src/http/modules/ngx_http_geo_module.c Mon Aug 20 09:57:19 2007 +0000 @@ -86,7 +86,7 @@ *v = *vv; ngx_log_debug2(NGX_LOG_DEBUG_HTTP, r->connection->log, 0, - "http geo: %V %V", &r->connection->addr_text, v); + "http geo: %V %v", &r->connection->addr_text, v); return NGX_OK; } @@ -100,8 +100,8 @@ ngx_conf_t save; ngx_pool_t *pool; ngx_radix_tree_t *tree; + ngx_http_variable_t *var; ngx_http_geo_conf_ctx_t ctx; - ngx_http_variable_t *var; value = cf->args->elts; @@ -285,9 +285,8 @@ ngx_radix32tree_find(ctx->tree, cidrin.addr & cidrin.mask); ngx_conf_log_error(NGX_LOG_WARN, cf, 0, - "duplicate parameter \"%V\", value: \"%V\", " - "old value: \"%V\"", - &value[0], var, old); + "duplicate parameter \"%V\", value: \"%v\", old value: \"%v\"", + &value[0], var, old); rc = ngx_radix32tree_delete(ctx->tree, cidrin.addr, cidrin.mask);
--- a/src/http/modules/ngx_http_limit_zone_module.c Mon Aug 20 09:50:53 2007 +0000 +++ b/src/http/modules/ngx_http_limit_zone_module.c Mon Aug 20 09:57:19 2007 +0000 @@ -141,7 +141,7 @@ if (len > 255) { ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, "the value of the \"%V\" variable " - "is more than 255 bytes: \"%V\"", + "is more than 255 bytes: \"%v\"", &ctx->var, vv); return NGX_DECLINED; }
--- a/src/http/modules/ngx_http_map_module.c Mon Aug 20 09:50:53 2007 +0000 +++ b/src/http/modules/ngx_http_map_module.c Mon Aug 20 09:57:19 2007 +0000 @@ -151,7 +151,7 @@ } ngx_log_debug2(NGX_LOG_DEBUG_HTTP, r->connection->log, 0, - "http map: \"%V\" \"%V\"", vv, v); + "http map: \"%v\" \"%v\"", vv, v); return NGX_OK; }
--- a/src/http/ngx_http_script.c Mon Aug 20 09:50:53 2007 +0000 +++ b/src/http/ngx_http_script.c Mon Aug 20 09:57:19 2007 +0000 @@ -1191,7 +1191,7 @@ if (value && !value->not_found) { ngx_log_debug1(NGX_LOG_DEBUG_HTTP, e->request->connection->log, 0, - "http script var: \"%V\"", value); + "http script var: \"%v\"", value); *e->sp = *value; e->sp++;