From: Tim Bunce Date: Wed, 6 Aug 1997 12:00:00 +0000 (+1200) Subject: : reduced malloc patch X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=573fa4ead436f5cdf54e177e876dbef2739a0dac;p=p5sagit%2Fp5-mst-13.2.git : reduced malloc patch (this is the same change as commit 38a1ac3f7341206073b47f38b6bdb094f3f50352, but as applied) --- 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; }