diff options
-rw-r--r-- | ChangeLog | 9 | ||||
-rw-r--r-- | anchor.c | 18 | ||||
-rw-r--r-- | main.c | 4 |
3 files changed, 23 insertions, 8 deletions
@@ -1,3 +1,10 @@ +2002-12-17 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + + * [w3m-dev 03576] Re: news support + * anchor.c (_put_anchor_news): convert to document code and quote + (_put_anchor_all): convert to document code + * main.c (chkNMIDBuffer): change url_like_pat + 2002-12-15 Fumitoshi UKAI <ukai@debian.or.jp> * NEWS: rc: preserve_timestamp @@ -5882,4 +5889,4 @@ a * [w3m-dev 03276] compile error on EWS4800 * release-0-2-1 * import w3m-0.2.1 -$Id: ChangeLog,v 1.625 2002/12/15 12:37:33 ukai Exp $ +$Id: ChangeLog,v 1.626 2002/12/16 15:41:03 ukai Exp $ @@ -1,4 +1,4 @@ -/* $Id: anchor.c,v 1.14 2002/12/10 15:36:10 ukai Exp $ */ +/* $Id: anchor.c,v 1.15 2002/12/16 15:41:27 ukai Exp $ */ #include "fm.h" #include "myctype.h" #include "regex.h" @@ -196,9 +196,11 @@ _put_anchor_news(Buffer *buf, char *p1, char *p2, int line, int pos) p1++; if (*(p2 - 1) == '>') p2--; - tmp = Strnew_size(sizeof("news:") - 1 + (p2 - p1)); - Strcat_charp_n(tmp, "news:", sizeof("news:") - 1); - Strcat_charp_n(tmp, p1, p2 - p1); + tmp = Strnew_charp_n(p1, p2 - p1); +#ifdef JP_CHARSET + tmp = conv_str(tmp, InnerCode, buf->document_code); +#endif + tmp = Sprintf("news:%s", file_quote(tmp->ptr)); return registerHref(buf, tmp->ptr, NULL, NO_REFERER, NULL, '\0', line, pos); } @@ -207,7 +209,13 @@ _put_anchor_news(Buffer *buf, char *p1, char *p2, int line, int pos) static Anchor * _put_anchor_all(Buffer *buf, char *p1, char *p2, int line, int pos) { - return registerHref(buf, allocStr(p1, p2 - p1), NULL, NO_REFERER, NULL, + Str tmp; + + tmp = Strnew_charp_n(p1, p2 - p1); +#ifdef JP_CHARSET + tmp = conv_str(tmp, InnerCode, buf->document_code); +#endif + return registerHref(buf, url_quote(tmp->ptr), NULL, NO_REFERER, NULL, '\0', line, pos); } @@ -1,4 +1,4 @@ -/* $Id: main.c,v 1.169 2002/12/13 02:19:01 ukai Exp $ */ +/* $Id: main.c,v 1.170 2002/12/16 15:41:35 ukai Exp $ */ #define MAINPROGRAM #include "fm.h" #include <signal.h> @@ -4622,7 +4622,7 @@ void chkNMIDBuffer(Buffer *buf) { static char *url_like_pat[] = { - "<[^<> ][^<> ]*@[A-z0-9\\.\\-_]+>", + "<[!-;=?-~]+@[A-z0-9\\.\\-_]+>", NULL, }; int i; |