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.