sub url_param_escape($) {
my $x = shift @_;
defined $x or return;
- $x = url_escape($x);
+ utf8::encode($x) if $utf8_mode;
+ $x =~ s/([^-\$_.!*'(),0-9A-Za-z])/"%".unpack('H2',$1)/ge;
$x =~ s/%20/+/g;
+ utf8::decode($x) if $utf8_mode;
return $x;
}
print STDERR "FILE UPLOAD to $fn\n" if $debug;
${$a->{"file"}} = $fn;
${$a->{"fh"}} = $fh if defined $a->{"fh"};
+ if (defined $a->{"filename"}){
+ my ($filename) = ($cdisp =~ /;filename=([^;]+)/);
+ (${$a->{"filename"}}) = rfc822_deescape($filename) if defined $filename;
+ }
my $total_size = 0;
while (my $i = refill_mp_data(4096)) {
print $fh substr($mp_buffer, $mp_buffer_i, $i);