plperl_misc_inc_ah.patch
application/octet-stream
Filename: plperl_misc_inc_ah.patch
Type: application/octet-stream
Part: 0
Patch
Same data as JSON:
GET /api/v1/attachments/:id/patch
the parsed metadata as JSON — format, series position, per-file stats; never the diff bytes.
API reference →
Format: context
| File | + | − |
|---|---|---|
| src/pl/plperl/plc_perlboot.pl | 3 | 0 |
| src/pl/plperl/plc_safe_ok.pl | 1 | 0 |
*** a/src/pl/plperl/plc_perlboot.pl
--- b/src/pl/plperl/plc_perlboot.pl
***************
*** 27,42 **** sub ::mkfuncsrc {
my $BEGIN = join "\n", map {
my $names = $imports->{$_} || [];
"$_->import(qw(@$names));"
! } keys %$imports;
$BEGIN &&= "BEGIN { $BEGIN }";
$name =~ s/\\/\\\\/g;
$name =~ s/::|'/_/g; # avoid package delimiters
! my $funcsrc;
! $funcsrc .= qq[ undef *{'$name'}; *{'$name'} = sub { $BEGIN $prolog $src } ];
! #warn "plperl mkfuncsrc: $funcsrc\n";
! return $funcsrc;
}
# see also mksafefunc() in plc_safe_ok.pl
--- 27,40 ----
my $BEGIN = join "\n", map {
my $names = $imports->{$_} || [];
"$_->import(qw(@$names));"
! } sort keys %$imports;
$BEGIN &&= "BEGIN { $BEGIN }";
$name =~ s/\\/\\\\/g;
$name =~ s/::|'/_/g; # avoid package delimiters
+ $name =~ s/'/\'/g;
! return qq[ undef *{'$name'}; *{'$name'} = sub { $BEGIN $prolog $src } ];
}
# see also mksafefunc() in plc_safe_ok.pl
*** a/src/pl/plperl/plc_safe_ok.pl
--- b/src/pl/plperl/plc_safe_ok.pl
***************
*** 25,30 **** $PLContainer->share(qw[&elog &return_next
--- 25,31 ----
$PLContainer->permit(qw[caller]);
::safe_eval(q{
require strict;
+ require warnings;
require feature if $] >= 5.010000;
1;
}) or die $@;