diff options
author | Jarkko Hietaniemi <jhi@iki.fi> | 2003-02-13 14:55:54 +0000 |
---|---|---|
committer | Jarkko Hietaniemi <jhi@iki.fi> | 2003-02-13 14:55:54 +0000 |
commit | f8cf53708a096484c1f9a95d4ded967d084dcf53 (patch) | |
tree | 6ddc0ab003970b2ed91410beaa9b17381ec74250 /sv.c | |
parent | e33c26d0ac37721d57f9af17e5491b8ba50971fa (diff) | |
download | perl-f8cf53708a096484c1f9a95d4ded967d084dcf53.tar.gz |
Integrate:
[ 18674]
Signedness nits.
[ 18678]
CPAN ChangeLog not needed, says Andreas.
[ 18682]
Subject: [PATCH] version objects final(?) patch
From: John Peacock <jpeacock@rowman.com>
Date: Sun, 05 Jan 2003 21:28:41 -0500
Message-ID: <3E18E9D9.2040908@rowman.com>
[ 18683]
Subject: RE: perldebug.pod suggestion
From: "Jay Hannah" <jhannah@omnihotels.com>
Date: Fri, 24 Jan 2003 11:28:44 -0600
Message-ID: <00b001c2c3ce$0c4716e0$4709a8c0@omarests2>
[ 18684]
fix for C< use if qw/ 1 open :utf8 / > based on:
Subject: [perl #20536] use if 1, open => ':utf8' fails
From: Autrijus Tang (via RT) <perlbug-followup@perl.org>
Date: 24 Jan 2003 22:39:06 -0000
Message-Id: <rt-20536-49670.13.2464320257255@bugs6.perl.org>
[ 18685]
No, we don't really want the utility scripts.
[ 18686]
Compile under threads and MacOSX. For some reason newSVpvf
was not exapnded.
[ 18687]
Subject: Re: [perl #20716] [FIX] scope error with brackets
From: Enache Adrian <enache@rdslink.ro>
Date: mon feb 10, 2003 18:48:58 Europe/Stockholm
Message-id: <20030210174858.GA872@ratsnest.hole>
[ 18688]
Subject: Re: [perl #20777] [PATCH] goto &subroutine leaks memory
From: Enache Adrian <enache@rdslink.ro>
Date: sun feb 9, 2003 21:10:25 Europe/Stockholm
Message-Id: <20030209201025.GA1247@ratsnest.hole>
[ 18689]
Fix for [perl #20339]: "%lf" rejected as invalid by recent sprintf.
Now allows but ignores the 'l' modifier on floating point formats
and adds a couple of tests.
[ 18690]
fix comment in change #18689
[ 18691]
Subject: PATCH: sv_rvweaken() deficiency (against 5.8.0)
From: Mark Mielke <mark@mark.mielke.cc>
Date: Mon, 20 Jan 2003 19:56:13 -0500
Message-ID: <20030121005613.GA31739@mark.mielke.cc>
[ 18692]
Dueling patches.
[ 18694]
Subject: [PATCH] More B::Concise fixes
From: Stephen McCamant <smcc@mit.edu>
Date: Sun, 9 Feb 2003 17:28:38 -0500
Message-ID: <15942.54806.381678.173391@syllepsis.MIT.EDU>
[ 18695]
Subject: mini-[patch] perlrun "^$W" typo
From: Iain Truskett <spoon@dellah.org>
Date: Tue, 11 Feb 2003 08:38:52 +1100
Message-ID: <20030210213851.GC31721@ouroboros.anu.edu.au>
[ 18696]
Subject: [perl #20654] %*v02x considered invalid in printf
From: Robin Barker (via RT) <perlbug-followup@perl.org>
Date: 10 Feb 2003 16:43:23 -0000
Message-Id: <rt-20654-50711.19.9711009821137@bugs6.perl.org>
[ 18698]
Subject: perlbug (was: Re: [perl #20606] [no subject])
From: Slaven Rezic <slaven@rezic.de>
Date: 30 Jan 2003 19:03:41 +0100
Message-ID: <87fzra7bwi.fsf@vran.herceg.de>
[ 18697]
Subject: [PATCH 5.9.0] to silence compiler warning
From: Robin Barker <Robin.Barker@npl.co.uk>
Date: Tue, 28 Jan 2003 13:27:17 -0000
Message-ID: <533D273D4014D411AB1D00062938C4D9040462CC@hotel.npl.co.uk>
[ 18699]
gcc 3.2.1 does not have -Wall faith that tmp
will not be used uninitialized.
(ignored some universal.c and util.c changes that were irrelevant
for the maint branch code)
p4raw-link: @18699 on //depot/perl: a55b55d8bdced7506ebb58e07395cd3123a8d718
p4raw-link: @18698 on //depot/perl: 8843dda615fc6b4c500632a976c7348c4ff93f1f
p4raw-link: @18697 on //depot/perl: e3feee4e511b83331e79ac04619b8ea753bb64aa
p4raw-link: @18696 on //depot/perl: f3583277f058a41c88989ac547f12b7065567d88
p4raw-link: @18695 on //depot/perl: b40da9968f92efbefe4f1cf588b91fedd3811c60
p4raw-link: @18694 on //depot/perl: 40b5b14f3b4cb7bd3fa8a9b351a18c2cc9240db0
p4raw-link: @18692 on //depot/perl: 0e1e4930e43c3ea5f965d2a7d26e0fd2ab77ccd7
p4raw-link: @18691 on //depot/perl: d91d49e893f41bf2ce59ca71dfaeeb27d6b2cfa0
p4raw-link: @18690 on //depot/perl: 8a2e3f14e33ebd36c920e88c0181ef8a85ec2cc8
p4raw-link: @18689 on //depot/perl: 00e17364bade89e3a71981168e34fb6160652b0a
p4raw-link: @18688 on //depot/perl: 71fc2216c6a4911ddf91f3da00b2e64b1face896
p4raw-link: @18687 on //depot/perl: 437fd2104756c25dedf68c6e31cd29ecbf0e2569
p4raw-link: @18686 on //depot/perl: 9be22fdc5e6401d34a392a30fcc1c5fb0eb6723f
p4raw-link: @18685 on //depot/perl: 2ed3a706e76b03c0f51930be7d3e2717325b819a
p4raw-link: @18684 on //depot/perl: b97616431c42ffbbb12f97bf297caee34b9f27a9
p4raw-link: @18683 on //depot/perl: bea985324a3cd895f8e0a0c38e90ab3d09433415
p4raw-link: @18682 on //depot/perl: 129318bdc5341dc6c9c199fa27cbfe9b42b96328
p4raw-link: @18678 on //depot/perl: 871d6bc8d2bb39fd87ea17c4e1aea457a1daa443
p4raw-link: @18674 on //depot/perl: f3b9ce0f2eed4dfc9dec3df94bf1336eea7ecf86
p4raw-id: //depot/maint-5.8/perl@18700
p4raw-deleted: from //depot/perl@18673 'delete in' lib/CPAN/ChangeLog
(@18672..)
p4raw-integrated: from //depot/perl@18673 'copy in'
ext/PerlIO/encoding/encoding.pm (@16272..) pod/perldebug.pod
(@17592..) utils/perlbug.PL (@17603..) lib/if.pm (@17799..)
lib/if.t (@17818..) t/comp/parser.t (@18251..) t/op/sprintf.t
(@18689..) 'edit in' toke.c (@18687..) sv.c (@18693..) 'ignore'
ext/MIME/Base64/Makefile.PL (@18642..) MANIFEST (@18685..)
universal.c (@18686..) 'merge in' x2p/Makefile.SH (@13970..)
doio.c (@18517..) pp_ctl.c (@18633..) pod/perlrun.pod
(@18649..) ext/B/B/Concise.pm (@18657..)
Diffstat (limited to 'sv.c')
-rw-r--r-- | sv.c | 22 |
1 files changed, 19 insertions, 3 deletions
@@ -4801,7 +4801,19 @@ S_sv_add_backref(pTHX_ SV *tsv, SV *sv) sv_magic(tsv, (SV*)av, PERL_MAGIC_backref, NULL, 0); SvREFCNT_dec(av); /* for sv_magic */ } - av_push(av,sv); + if (AvFILLp(av) >= AvMAX(av)) { + SV **svp = AvARRAY(av); + I32 i = AvFILLp(av); + while (i >= 0) { + if (svp[i] == &PL_sv_undef) { + svp[i] = sv; /* reuse the slot */ + return; + } + i--; + } + av_extend(av, AvFILLp(av)+1); + } + AvARRAY(av)[++AvFILLp(av)] = sv; /* av_push() */ } /* delete a back-reference to ourselves from the backref magic associated @@ -8112,6 +8124,7 @@ Perl_sv_vcatpvfn(pTHX_ SV *sv, const char *pat, STRLEN patlen, va_list *args, SV \d+\$ explicit format parameter index [-+ 0#]+ flags v|\*(\d+\$)?v vector with optional (optionally specified) arg + 0 flag (as above): repeated to allow "v02" \d+|\*(\d+\$)? width using optional (optionally specified) arg \.(\d*|\*(\d+\$)?) precision using optional (optionally specified) arg [hlqLV] size @@ -8177,6 +8190,8 @@ Perl_sv_vcatpvfn(pTHX_ SV *sv, const char *pat, STRLEN patlen, va_list *args, SV } if (!asterisk) + if( *q == '0' ) + fill = *q++; EXPECT_NUMBER(q, width); if (vectorize) { @@ -8604,6 +8619,9 @@ Perl_sv_vcatpvfn(pTHX_ SV *sv, const char *pat, STRLEN patlen, va_list *args, SV intsize = 'q'; #endif break; +/* [perl #20339] - we should accept and ignore %lf rather than die */ + case 'l': + /* FALL THROUGH */ default: #if defined(USE_LONG_DOUBLE) intsize = args ? 0 : 'q'; @@ -8616,8 +8634,6 @@ Perl_sv_vcatpvfn(pTHX_ SV *sv, const char *pat, STRLEN patlen, va_list *args, SV /* FALL THROUGH */ #endif case 'h': - /* FALL THROUGH */ - case 'l': goto unknown; } |