summaryrefslogtreecommitdiff
path: root/pp_ctl.c
diff options
context:
space:
mode:
authorNicholas Clark <nick@ccl4.org>2010-07-21 13:41:44 +0100
committerNicholas Clark <nick@ccl4.org>2010-07-21 13:41:44 +0100
commit5b235299a82969c391c126a8d9a1475362a595a6 (patch)
treed28ceb65a7917eb3270c3b5389b97a4709174e3d /pp_ctl.c
parent710891042a142a482afd4eed1f3b1feb27a9c504 (diff)
downloadperl-5b235299a82969c391c126a8d9a1475362a595a6.tar.gz
Add Perl_init_dbargs(), to set up @DB::args without losing SV references.
Diffstat (limited to 'pp_ctl.c')
-rw-r--r--pp_ctl.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/pp_ctl.c b/pp_ctl.c
index a93d6dc2b0..57118a4aa7 100644
--- a/pp_ctl.c
+++ b/pp_ctl.c
@@ -1791,11 +1791,8 @@ PP(pp_caller)
AV * const ary = cx->blk_sub.argarray;
const int off = AvARRAY(ary) - AvALLOC(ary);
- if (!PL_dbargs) {
- PL_dbargs = GvAV(gv_AVadd(gv_fetchpvs("DB::args", GV_ADDMULTI,
- SVt_PVAV)));
- AvREAL_off(PL_dbargs); /* XXX should be REIFY (see av.h) */
- }
+ if (!PL_dbargs)
+ Perl_init_dbargs(aTHX);
if (AvMAX(PL_dbargs) < AvFILLp(ary) + off)
av_extend(PL_dbargs, AvFILLp(ary) + off);