summaryrefslogtreecommitdiff
path: root/pad.c
diff options
context:
space:
mode:
authorBrian Fraser <fraserbn@gmail.com>2011-06-11 13:29:54 -0300
committerFather Chrysostomos <sprout@cpan.org>2011-07-12 21:46:52 -0700
commitfbb889c85e79da0c4f54a617b00e93f8c46a9bea (patch)
treedcd51061f019aa1038bd6a25b8a4b286719a7068 /pad.c
parent15103811cf683404d0d30d02b26c1ca87373f233 (diff)
downloadperl-fbb889c85e79da0c4f54a617b00e93f8c46a9bea.tar.gz
Added a flags parameter to pad_findlex.
Diffstat (limited to 'pad.c')
-rw-r--r--pad.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/pad.c b/pad.c
index c35d0a6448..afdc8086bb 100644
--- a/pad.c
+++ b/pad.c
@@ -817,8 +817,8 @@ Perl_pad_findmy_pvn(pTHX_ const char *namepv, STRLEN namelen, U32 flags)
Perl_croak(aTHX_ "panic: pad_findmy_pvn illegal flag bits 0x%" UVxf,
(UV)flags);
- offset = pad_findlex(namepv, namelen, PL_compcv, PL_cop_seqmax, 1,
- NULL, &out_sv, &out_flags);
+ offset = pad_findlex(namepv, namelen, flags,
+ PL_compcv, PL_cop_seqmax, 1, NULL, &out_sv, &out_flags);
if ((PADOFFSET)offset != NOT_IN_PAD)
return offset;
@@ -895,7 +895,7 @@ Perl_find_rundefsvoffset(pTHX)
dVAR;
SV *out_sv;
int out_flags;
- return pad_findlex("$_", 2, find_runcv(NULL), PL_curcop->cop_seq, 1,
+ return pad_findlex("$_", 2, 0, find_runcv(NULL), PL_curcop->cop_seq, 1,
NULL, &out_sv, &out_flags);
}
@@ -916,7 +916,7 @@ Perl_find_rundefsv(pTHX)
int flags;
PADOFFSET po;
- po = pad_findlex("$_", 2, find_runcv(NULL), PL_curcop->cop_seq, 1,
+ po = pad_findlex("$_", 2, 0, find_runcv(NULL), PL_curcop->cop_seq, 1,
NULL, &namesv, &flags);
if (po == NOT_IN_PAD || SvPAD_OUR(namesv))
@@ -926,7 +926,7 @@ Perl_find_rundefsv(pTHX)
}
/*
-=for apidoc m|PADOFFSET|pad_findlex|const char *namepv|STRLEN namelen|const CV* cv|U32 seq|int warn|SV** out_capture|SV** out_name_sv|int *out_flags
+=for apidoc m|PADOFFSET|pad_findlex|const char *namepv|STRLEN namelen|U32 flags|const CV* cv|U32 seq|int warn|SV** out_capture|SV** out_name_sv|int *out_flags
Find a named lexical anywhere in a chain of nested pads. Add fake entries
in the inner pads if it's found in an outer one.
@@ -957,7 +957,7 @@ the parent pad.
STATIC PADOFFSET
-S_pad_findlex(pTHX_ const char *namepv, STRLEN namelen, const CV* cv, U32 seq,
+S_pad_findlex(pTHX_ const char *namepv, STRLEN namelen, U32 flags, const CV* cv, U32 seq,
int warn, SV** out_capture, SV** out_name_sv, int *out_flags)
{
dVAR;
@@ -1097,7 +1097,7 @@ S_pad_findlex(pTHX_ const char *namepv, STRLEN namelen, const CV* cv, U32 seq,
"Pad findlex cv=0x%"UVxf" chasing lex in outer pad\n",
PTR2UV(cv)));
n = *out_name_sv;
- (void) pad_findlex(namepv, namelen, CvOUTSIDE(cv),
+ (void) pad_findlex(namepv, namelen, flags, CvOUTSIDE(cv),
CvOUTSIDE_SEQ(cv),
newwarn, out_capture, out_name_sv, out_flags);
*out_name_sv = n;
@@ -1143,7 +1143,7 @@ S_pad_findlex(pTHX_ const char *namepv, STRLEN namelen, const CV* cv, U32 seq,
new_capturep = out_capture ? out_capture :
CvLATE(cv) ? NULL : &new_capture;
- offset = pad_findlex(namepv, namelen, CvOUTSIDE(cv), CvOUTSIDE_SEQ(cv), 1,
+ offset = pad_findlex(namepv, namelen, flags, CvOUTSIDE(cv), CvOUTSIDE_SEQ(cv), 1,
new_capturep, out_name_sv, out_flags);
if ((PADOFFSET)offset == NOT_IN_PAD)
return NOT_IN_PAD;