[nginx] Handling of ngx_int_t != intptr_t case.
Maxim Dounin
mdounin at mdounin.ru
Wed Sep 4 17:37:03 UTC 2013
details: http://hg.nginx.org/nginx/rev/79b9101cecf4
branches:
changeset: 5362:79b9101cecf4
user: Maxim Dounin <mdounin at mdounin.ru>
date: Wed Sep 04 21:16:59 2013 +0400
description:
Handling of ngx_int_t != intptr_t case.
Casts between pointers and integers produce warnings on size mismatch. To
silence them, cast to (u)intptr_t should be used. Prevoiusly, casts to
ngx_(u)int_t were used in some cases, and several ngx_int_t expressions had
no casts.
As of now it's mostly style as ngx_int_t is defined as intptr_t.
diffstat:
src/core/ngx_slab.c | 3 ++-
src/http/modules/ngx_http_map_module.c | 6 +++---
src/http/modules/perl/ngx_http_perl_module.c | 4 ++--
3 files changed, 7 insertions(+), 6 deletions(-)
diffs (64 lines):
diff --git a/src/core/ngx_slab.c b/src/core/ngx_slab.c
--- a/src/core/ngx_slab.c
+++ b/src/core/ngx_slab.c
@@ -440,7 +440,8 @@ ngx_slab_free_locked(ngx_slab_pool_t *po
n = ((uintptr_t) p & (ngx_pagesize - 1)) >> shift;
m = (uintptr_t) 1 << (n & (sizeof(uintptr_t) * 8 - 1));
n /= (sizeof(uintptr_t) * 8);
- bitmap = (uintptr_t *) ((uintptr_t) p & ~(ngx_pagesize - 1));
+ bitmap = (uintptr_t *)
+ ((uintptr_t) p & ~((uintptr_t) ngx_pagesize - 1));
if (bitmap[n] & m) {
diff --git a/src/http/modules/ngx_http_map_module.c b/src/http/modules/ngx_http_map_module.c
--- a/src/http/modules/ngx_http_map_module.c
+++ b/src/http/modules/ngx_http_map_module.c
@@ -131,7 +131,7 @@ ngx_http_map_variable(ngx_http_request_t
}
if (!value->valid) {
- value = ngx_http_get_flushed_variable(r, (ngx_uint_t) value->data);
+ value = ngx_http_get_flushed_variable(r, (uintptr_t) value->data);
if (value == NULL || value->not_found) {
value = &ngx_http_variable_null_value;
@@ -414,7 +414,7 @@ ngx_http_map(ngx_conf_t *cf, ngx_command
var = ctx->var_values.elts;
for (i = 0; i < ctx->var_values.nelts; i++) {
- if (index == (ngx_int_t) var[i].data) {
+ if (index == (intptr_t) var[i].data) {
var = &var[i];
goto found;
}
@@ -429,7 +429,7 @@ ngx_http_map(ngx_conf_t *cf, ngx_command
var->no_cacheable = 0;
var->not_found = 0;
var->len = 0;
- var->data = (u_char *) index;
+ var->data = (u_char *) (intptr_t) index;
goto found;
}
diff --git a/src/http/modules/perl/ngx_http_perl_module.c b/src/http/modules/perl/ngx_http_perl_module.c
--- a/src/http/modules/perl/ngx_http_perl_module.c
+++ b/src/http/modules/perl/ngx_http_perl_module.c
@@ -421,7 +421,7 @@ ngx_http_perl_ssi(ngx_http_request_t *r,
return NGX_ERROR;
}
- asv[0] = (SV *) i;
+ asv[0] = (SV *) (uintptr_t) i;
for (i = 0; args[i]; i++) {
asv[i + 1] = newSVpvn((char *) args[i]->data, args[i]->len);
@@ -692,7 +692,7 @@ ngx_http_perl_call_handler(pTHX_ ngx_htt
if (args) {
EXTEND(sp, (intptr_t) args[0]);
- for (i = 1; i <= (ngx_uint_t) args[0]; i++) {
+ for (i = 1; i <= (uintptr_t) args[0]; i++) {
PUSHs(sv_2mortal(args[i]));
}
}
More information about the nginx-devel
mailing list