diff options
author | Brian Fraser <fraserbn@gmail.com> | 2011-09-30 06:25:45 -0700 |
---|---|---|
committer | Father Chrysostomos <sprout@cpan.org> | 2011-10-06 13:01:19 -0700 |
commit | dab1c735364fcc41f4fbd1c15b5e26e8a7b07cab (patch) | |
tree | a4681e32c95dbd9711ee77cbcbf3d0727dd84eee /proto.h | |
parent | e0260a5b7a4c9245402af2910213dd35717e5bd2 (diff) | |
download | perl-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.h | 5 |
1 files changed, 5 insertions, 0 deletions
@@ -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 \ |