From 573fa4ead436f5cdf54e177e876dbef2739a0dac Mon Sep 17 00:00:00 2001 From: Tim Bunce Date: Thu, 7 Aug 1997 00:00:00 +1200 Subject: [PATCH] : reduced malloc patch (this is the same change as commit 38a1ac3f7341206073b47f38b6bdb094f3f50352, but as applied) --- av.c | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/av.c b/av.c index 9e94805..6b4c03d 100644 --- a/av.c +++ b/av.c @@ -253,17 +253,19 @@ register SV **strp; av = (AV*)NEWSV(8,0); sv_upgrade((SV *) av,SVt_PVAV); - New(4,ary,size+1,SV*); - AvALLOC(av) = ary; AvFLAGS(av) = AVf_REAL; - SvPVX(av) = (char*)ary; - AvFILL(av) = size - 1; - AvMAX(av) = size - 1; - for (i = 0; i < size; i++) { - assert (*strp); - ary[i] = NEWSV(7,0); - sv_setsv(ary[i], *strp); - strp++; + if (size) { /* `defined' was returning undef for size==0 anyway. */ + New(4,ary,size,SV*); + AvALLOC(av) = ary; + SvPVX(av) = (char*)ary; + AvFILL(av) = size - 1; + AvMAX(av) = size - 1; + for (i = 0; i < size; i++) { + assert (*strp); + ary[i] = NEWSV(7,0); + sv_setsv(ary[i], *strp); + strp++; + } } return av; } -- 2.7.4