Change 29879 by [EMAIL PROTECTED] on 2007/01/19 00:13:02

        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().

Affected files ...

... //depot/perl/embed.fnc#451 edit
... //depot/perl/proto.h#789 edit
... //depot/perl/sv.c#1359 edit

Differences ...

==== //depot/perl/embed.fnc#451 (text) ====
Index: perl/embed.fnc
--- perl/embed.fnc#450~29853~   2007-01-17 10:24:50.000000000 -0800
+++ perl/embed.fnc      2007-01-18 16:13:02.000000000 -0800
@@ -1106,7 +1106,7 @@
 #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)

==== //depot/perl/proto.h#789 (text+w) ====
Index: perl/proto.h
--- perl/proto.h#788~29853~     2007-01-17 10:24:50.000000000 -0800
+++ perl/proto.h        2007-01-18 16:13:02.000000000 -0800
@@ -2958,7 +2958,7 @@
 
 #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__;
 

==== //depot/perl/sv.c#1359 (text) ====
Index: perl/sv.c
--- perl/sv.c#1358~29878~       2007-01-18 15:52:11.000000000 -0800
+++ perl/sv.c   2007-01-18 16:13:02.000000000 -0800
@@ -679,7 +679,7 @@
    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 @@
     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));
End of Patch.

Reply via email to