summaryrefslogtreecommitdiff
path: root/proto.h
diff options
context:
space:
mode:
authorBrian Fraser <fraserbn@gmail.com>2011-09-30 06:25:45 -0700
committerFather Chrysostomos <sprout@cpan.org>2011-10-06 13:01:19 -0700
commitdab1c735364fcc41f4fbd1c15b5e26e8a7b07cab (patch)
treea4681e32c95dbd9711ee77cbcbf3d0727dd84eee /proto.h
parente0260a5b7a4c9245402af2910213dd35717e5bd2 (diff)
downloadperl-dab1c735364fcc41f4fbd1c15b5e26e8a7b07cab.tar.gz
toke.c, op.c, sv.c: Prototype parsing and checking are nul-and-UTF8 clean.
This means that eval "sub foo ($;\0whoops) { say @_ }" will correctly include \0whoops in the CV's prototype (while complaining about illegal characters), and that use utf8; BEGIN { $::{"foo"} = "\$\0L\351on" } BEGIN { eval "sub foo (\$\0L\x{c3}\x{a9}on) {};"; } will not warn about a mismatched prototype.
Diffstat (limited to 'proto.h')
-rw-r--r--proto.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/proto.h b/proto.h
index 7a5fab0d38..a586f38701 100644
--- a/proto.h
+++ b/proto.h
@@ -638,6 +638,11 @@ PERL_CALLCONV void Perl_cv_ckproto_len(pTHX_ const CV* cv, const GV* gv, const c
#define PERL_ARGS_ASSERT_CV_CKPROTO_LEN \
assert(cv)
+PERL_CALLCONV void Perl_cv_ckproto_len_flags(pTHX_ const CV* cv, const GV* gv, const char* p, const STRLEN len, const U32 flags)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_CV_CKPROTO_LEN_FLAGS \
+ assert(cv)
+
PERL_CALLCONV CV* Perl_cv_clone(pTHX_ CV* proto)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_CV_CLONE \