pm_filter: use \Q...\E to escape all possible strings pedantically
The current implementation would misbehave for prefixes containing a single quote.master
parent
276f0cf578
commit
06fce2b238
|
@ -7,10 +7,10 @@ BEGIN {
|
|||
}
|
||||
|
||||
if (/INSTALLDIR_AUTOREPLACE/) {
|
||||
$_=qq{our \$installdir='$prefix';};
|
||||
$_=qq{our \$installdir="\Q$prefix\E";};
|
||||
}
|
||||
elsif (/VERSION_AUTOREPLACE/) {
|
||||
$_=qq{our \$version="$ver";};
|
||||
$_=qq{our \$version="\Q$ver\E";};
|
||||
}
|
||||
elsif (/^(?:use FindBin; *)?use lib/) {
|
||||
# The idea here is to figure out if the libdir the Makefile.PL
|
||||
|
@ -22,12 +22,12 @@ elsif (/^(?:use FindBin; *)?use lib/) {
|
|||
$_="";
|
||||
}
|
||||
else {
|
||||
$_="use lib '$libdir';\n";
|
||||
$_="use lib \"\Q$libdir\E\";\n";
|
||||
}
|
||||
}
|
||||
elsif ($. == 1 && ($ENV{NOTAINT}=0) && m{^(#!.*perl.*?)$}) {
|
||||
$_=qq{$1 -T\n};
|
||||
}
|
||||
elsif (/^\$ENV\{PATH}="(.*)";/) {
|
||||
$_="\$ENV{PATH}=\"$1:$prefix/bin\";\n";
|
||||
$_="\$ENV{PATH}=\"\Q$1\E:\Q$prefix\E/bin\";\n";
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue