From: Nicholas Clark Date: Fri, 19 Jan 2007 00:13:02 +0000 (+0000) Subject: As Perl_get_arena() is dealing with sizes, use size_t rather than int, X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=89086707de1a3d9012ea80f0c19441d3352a2f73;p=p5sagit%2Fp5-mst-13.2.git As Perl_get_arena() is dealing with sizes, use size_t rather than int, as it's both unsigned and semantically the correct width for a size. As all arenas get cleared later on, can use Newx() rather than Newxz(). p4raw-id: //depot/perl@29879 --- diff --git a/embed.fnc b/embed.fnc index 91bb0a5..f544e5b 100644 --- a/embed.fnc +++ b/embed.fnc @@ -1106,7 +1106,7 @@ s |HV* |require_tie_mod|NN GV *gv|NN const char *varpv|NN SV* namesv \ #endif : #if defined(PERL_IN_HV_C) || defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT) -paRxo |void* |get_arena |int svtype +paRxo |void* |get_arena |size_t svtype : #endif #if defined(PERL_IN_HV_C) || defined(PERL_DECL_PROT) diff --git a/proto.h b/proto.h index 4465055..e0d2fc4 100644 --- a/proto.h +++ b/proto.h @@ -2958,7 +2958,7 @@ STATIC HV* S_require_tie_mod(pTHX_ GV *gv, const char *varpv, SV* namesv, const #endif -PERL_CALLCONV void* Perl_get_arena(pTHX_ int svtype) +PERL_CALLCONV void* Perl_get_arena(pTHX_ size_t svtype) __attribute__malloc__ __attribute__warn_unused_result__; diff --git a/sv.c b/sv.c index 98f2f81..ac5eeb0 100644 --- a/sv.c +++ b/sv.c @@ -679,7 +679,7 @@ Perl_sv_free_arenas(pTHX) TBD: export properly for hv.c: S_more_he(). */ void* -Perl_get_arena(pTHX_ int arena_size) +Perl_get_arena(pTHX_ size_t arena_size) { dVAR; struct arena_desc* adesc; @@ -704,7 +704,7 @@ Perl_get_arena(pTHX_ int arena_size) adesc = &((*aroot)->set[curr]); assert(!adesc->arena); - Newxz(adesc->arena, arena_size, char); + Newx(adesc->arena, arena_size, char); adesc->size = arena_size; DEBUG_m(PerlIO_printf(Perl_debug_log, "arena %d added: %p size %d\n", curr, (void*)adesc->arena, arena_size));