comparison src/http/modules/perl/ngx_http_perl_module.c @ 5362:79b9101cecf4

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.
author Maxim Dounin <mdounin@mdounin.ru>
date Wed, 04 Sep 2013 21:16:59 +0400
parents 314c3d7cc3a5
children 0570e42ffeed
comparison
equal deleted inserted replaced
5361:7094d6da2806 5362:79b9101cecf4
419 if (asv == NULL) { 419 if (asv == NULL) {
420 SvREFCNT_dec(sv); 420 SvREFCNT_dec(sv);
421 return NGX_ERROR; 421 return NGX_ERROR;
422 } 422 }
423 423
424 asv[0] = (SV *) i; 424 asv[0] = (SV *) (uintptr_t) i;
425 425
426 for (i = 0; args[i]; i++) { 426 for (i = 0; args[i]; i++) {
427 asv[i + 1] = newSVpvn((char *) args[i]->data, args[i]->len); 427 asv[i + 1] = newSVpvn((char *) args[i]->data, args[i]->len);
428 } 428 }
429 429
690 XPUSHs(sv); 690 XPUSHs(sv);
691 691
692 if (args) { 692 if (args) {
693 EXTEND(sp, (intptr_t) args[0]); 693 EXTEND(sp, (intptr_t) args[0]);
694 694
695 for (i = 1; i <= (ngx_uint_t) args[0]; i++) { 695 for (i = 1; i <= (uintptr_t) args[0]; i++) {
696 PUSHs(sv_2mortal(args[i])); 696 PUSHs(sv_2mortal(args[i]));
697 } 697 }
698 } 698 }
699 699
700 PUTBACK; 700 PUTBACK;