commit 03747ecd067d0c370fe03a1a309ab6b250f217c4
parent 9b3131957b7c80c1ca5e9f94065a71483ecacbf1
Author: ukai <ukai>
Date: Mon, 21 Jan 2002 18:33:59 +0000
[w3m-dev 02880] URI_PATTERN
* url.c (URI_PATTERN): better match for % hex hex
* url.c (chkExternalURIBuffer): don't use URI_PATTERN as format string
From: Fumitoshi UKAI <ukai@debian.or.jp>
Diffstat:
2 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/ChangeLog b/ChangeLog
@@ -1,3 +1,8 @@
+2002-01-22 Fumitoshi UKAI <ukai@debian.or.jp>
+
+ * url.c (URI_PATTERN): better match for % hex hex
+ * url.c (chkExternalURIBuffer): don't use URI_PATTERN as format string
+
2002-01-22 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp>
* [w3m-dev 02879] reset signals
diff --git a/url.c b/url.c
@@ -2081,7 +2081,7 @@ searchURIMethods(ParsedURL *pu)
* escaped = "%" hex hex
*/
-#define URI_PATTERN "[-;/?:@&=+$,a-zA-Z0-9_.!~*'()%]*"
+#define URI_PATTERN "([-;/?:@&=+$,a-zA-Z0-9_.!~*'()]|%[0-9A-Fa-f][0-9A-Fa-f])*"
void
chkExternalURIBuffer(Buffer *buf)
{
@@ -2090,11 +2090,11 @@ chkExternalURIBuffer(Buffer *buf)
for (i = 0; (ump = urimethods[i]) != NULL; i++) {
for (; ump->item1 != NULL; ump++) {
- reAnchor(buf, Sprintf("%s:" URI_PATTERN, ump->item1)->ptr);
+ reAnchor(buf, Sprintf("%s:%s", ump->item1, URI_PATTERN)->ptr);
}
}
for (ump = default_urimethods; ump->item1 != NULL; ump++) {
- reAnchor(buf, Sprintf("%s:" URI_PATTERN, ump->item1)->ptr);
+ reAnchor(buf, Sprintf("%s:%s", ump->item1, URI_PATTERN)->ptr);
}
}
#endif