Commit b61443e 1 parent 6a0a615 commit b61443e Copy full SHA for b61443e
File tree 1 file changed +4
-2
lines changed
1 file changed +4
-2
lines changed Original file line number Diff line number Diff line change @@ -140,7 +140,7 @@ sub expandvars {
140
140
sub quote {
141
141
my ($str , $q , $vars ) = @_ ;
142
142
$str = expandvars($str , $vars ) if $q ne " '" && $str =~ / \$ / ;
143
- $str =~ s / ([ \t\"\'\$ ])/ sprintf("%%%02X", ord($1 ))/ ge ;
143
+ $str =~ s / ([ \t\"\'\$ # ])/ sprintf("%%%02X", ord($1 ))/ ge ;
144
144
$str = " %00" if $str eq ' ' ; # so that split sees something
145
145
return $str ;
146
146
}
@@ -149,7 +149,9 @@ sub unquotesplit {
149
149
my ($str , $vars , $unbalanced ) = @_ ;
150
150
$str =~ s / %/ %25/ g ;
151
151
$str =~ s / ^[ \t ]+// ;
152
- while ($str =~ / ([\"\' ])/ ) {
152
+ my $re = $unbalanced ? qr { ([\"\'\# ])} : qr { ([\"\' ])} ;
153
+ while ($str =~ / $re / ) {
154
+ last if $1 eq ' #' ;
153
155
my $q = $1 ;
154
156
if ($str !~ s / $q(.*?)$q/ quote($1 , $q , $vars )/ se ) {
155
157
return (undef ) if $unbalanced ;
You can’t perform that action at this time.
0 commit comments