diff options
author | Nicholas Clark <nick@ccl4.org> | 2010-07-21 13:41:44 +0100 |
---|---|---|
committer | Nicholas Clark <nick@ccl4.org> | 2010-07-21 13:41:44 +0100 |
commit | 5b235299a82969c391c126a8d9a1475362a595a6 (patch) | |
tree | d28ceb65a7917eb3270c3b5389b97a4709174e3d /pp_ctl.c | |
parent | 710891042a142a482afd4eed1f3b1feb27a9c504 (diff) | |
download | perl-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.c | 7 |
1 files changed, 2 insertions, 5 deletions
@@ -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); |