commit 61c5cf116c5183ffb9c3923fd02987edfe85aae0
parent db6e34f798699846affb7bb9d79df02a41ce9799
Author: ukai <ukai>
Date: Tue, 18 Feb 2003 15:26:38 +0000
[w3m-dev 03753] Fixed multipart.cgi
* scripts/multipart/multipart.cgi.in: remove w3m-control
use input hidden
add form_encode
From: Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp>
Diffstat:
2 files changed, 27 insertions(+), 3 deletions(-)
diff --git a/ChangeLog b/ChangeLog
@@ -1,3 +1,10 @@
+2003-02-19 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp>
+
+ * [w3m-dev 03753] Fixed multipart.cgi
+ * scripts/multipart/multipart.cgi.in: remove w3m-control
+ use input hidden
+ add form_encode
+
2003-02-18 WATANABE Katsuyuki <knabe@sannet.ne.jp>
* [w3m-dev 03749] README.cygwin
diff --git a/scripts/multipart/multipart.cgi.in b/scripts/multipart/multipart.cgi.in
@@ -77,7 +77,11 @@ if (defined($v{'count'})) {
$_ = &decode($_, $MIME_DECODE);
}
if (s/^(\S+)\s*:\s*//) {
- $hbody .= "$&$_\n";
+ $h = $&;
+ if ($h =~ /^w3m-control/i) {
+ $h = "WARNING: $h";
+ }
+ $hbody .= "$h$_\n";
$p = $1;
$p =~ tr/A-Z/a-z/;
$header{$p} = $_;
@@ -192,9 +196,16 @@ while(! $end) {
} else {
$name = "Content";
}
- print "<form action=\"$qcgi?file=$qfile&boundary=$qboundary&count=$count\">\n";
+ print "<form action=\"$qcgi\">\n";
+ print "<input type=hidden name=file value=\"$qfile\">\n";
+ print "<input type=hidden name=boundary value=\"$qboundary\">\n";
+ print "<input type=hidden name=count value=\"$count\">\n";
if ($image) {
- print "<input type=image name=submit src=\"$qcgi?file=$qfile&boundary=$qboundary&count=$count\" alt=\"",
+ print "<input type=image name=submit src=\"$qcgi?file=",
+ &html_quote(&form_encode($file)),
+ "&boundary=",
+ &html_quote(&form_encode($boundary)),
+ "&count=$count\" alt=\"",
&html_quote($name), "\">\n";
} else {
print "<input type=submit name=submit value=\"",
@@ -268,6 +279,12 @@ sub form_decode {
return $_;
}
+sub form_encode {
+ local($_) = @_;
+ s/[\000-\040\+:#?&%<>"\177-\377]/sprintf('%%%02X', unpack('C', $&))/eg;
+ return $_;
+}
+
sub guess_type {
local($_) = @_;