diff options
author | Fumitoshi UKAI <ukai@debian.or.jp> | 2003-02-05 16:43:56 +0000 |
---|---|---|
committer | Fumitoshi UKAI <ukai@debian.or.jp> | 2003-02-05 16:43:56 +0000 |
commit | e312638d0c8d64fe85db128d0eb8c3885a8bfe88 (patch) | |
tree | 8ffc104ec0f6eef6aae2eea58ff34d882547d065 /menu.c | |
parent | [w3m-dev 03729] buf fix of reAnchorNewsheader() (diff) | |
download | w3m-e312638d0c8d64fe85db128d0eb8c3885a8bfe88.tar.gz w3m-e312638d0c8d64fe85db128d0eb8c3885a8bfe88.zip |
[w3m-dev 03730] display decoded URL
* anchor.c (link_list_panel): support DecodeURL
* display.c (make_lastline_link): support DecodeURL
* etc.c (url_unquote_conv): added
* fm.h (DecodeURL): added
* history.c (historyBuffer): support DecodeURL
* indep.c (QUOTE_MAP): added
(HTML_QUOTE_MAP): added
(html_quote_char): deleted
(url_quote): use is_url_quote
(file_quote): use is_file_quote
(is_url_safe): deleted
(Str_form_quote): use is_url_unsafe
(Str_url_unquote): add safe args
(is_shell_safe): delete
(shell_quote): use is_shell_unsafe
* indep.h (QUOTE_MAP): added
(HTML_QUOTE_MAP): added
(HTML_QUOTE_MASK): added
(SHELL_UNSAFE_MASK): added
(URL_QUOTE_MASK): added
(FILE_QUOTE_MASK): added
(URL_UNSAFE_MASK): added
(GET_QUOTE_TYPE): added
(is_html_quote): added
(is_shell_unsafe): added
(is_url_quote): added
(is_file_quote): added
(is_url_unsafe): added
(html_quote_char): added
(html_quote_char): deleted
(Str_url_unquote): added safe
(form_unquote): Str_url_unquote changes
* linein.c (_prev): support DecodeURL
(_next): ditto
* main.c (goURL0): support DecodeURL
(_peekURL): ditto
(curURL): ditto
* map.c (follow_map_panel): support DecodeURL
(append_map_info): ditto
(append_link_info): ditto
(append_frame_info): ditto
(page_info_panel): ditto
* menu.c (initSelectMenu): delete SCM_LOCAL_CGI
support DecodeURL
(initSelTabMenu): delete SCM_LOCAL_CGI
support DecodeURL
(link_menu): support DecodeURL
* parsetagx.c (parse_tag): is_html_quote
* proto.h (url_unquote_conv): added
* rc.c (CMT_DECODE_URL): added
(params1): add decode_url
* url.c (openURL): Str_url_unquote non safe
From: Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp>
Diffstat (limited to '')
-rw-r--r-- | menu.c | 26 |
1 files changed, 19 insertions, 7 deletions
@@ -1,4 +1,4 @@ -/* $Id: menu.c,v 1.30 2002/12/24 17:20:47 ukai Exp $ */ +/* $Id: menu.c,v 1.31 2003/02/05 16:44:00 ukai Exp $ */ /* * w3m menu.c */ @@ -1379,6 +1379,7 @@ initSelectMenu(void) Buffer *buf; Str str; char **label; + char *p; static char *comment = " SPC for select / D for delete buffer "; SelectV = -1; @@ -1394,7 +1395,6 @@ initSelectMenu(void) if (buf->filename != NULL) { switch (buf->currentURL.scheme) { case SCM_LOCAL: - case SCM_LOCAL_CGI: if (strcmp(buf->currentURL.file, "-")) { Strcat_char(str, ' '); Strcat_charp(str, @@ -1406,7 +1406,10 @@ initSelectMenu(void) break; default: Strcat_char(str, ' '); - Strcat(str, parsedURL2Str(&buf->currentURL)); + p = parsedURL2Str(&buf->currentURL)->ptr; + if (DecodeURL) + p = url_unquote_conv(p, 0); + Strcat_charp(str, p); break; } } @@ -1525,6 +1528,7 @@ initSelTabMenu(void) Buffer *buf; Str str; char **label; + char *p; static char *comment = " SPC for select / D for delete tab "; SelTabV = -1; @@ -1541,7 +1545,6 @@ initSelTabMenu(void) if (buf->filename != NULL) { switch (buf->currentURL.scheme) { case SCM_LOCAL: - case SCM_LOCAL_CGI: if (strcmp(buf->currentURL.file, "-")) { Strcat_char(str, ' '); Strcat_charp(str, @@ -1552,8 +1555,10 @@ initSelTabMenu(void) case SCM_MISSING: break; default: - Strcat_char(str, ' '); - Strcat(str, parsedURL2Str(&buf->currentURL)); + p = parsedURL2Str(&buf->currentURL)->ptr; + if (DecodeURL) + p = url_unquote_conv(p, 0); + Strcat_charp(str, p); break; } } @@ -1827,6 +1832,7 @@ link_menu(Buffer *buf) int i, nitem, len = 0, linkV = -1; char **label; Str str; + char *p; if (!buf->linklist) return NULL; @@ -1843,7 +1849,13 @@ link_menu(Buffer *buf) Strcat_charp(str, " [Rev] "); else Strcat_charp(str, " "); - Strcat_charp(str, l->url ? l->url : ""); + if (!l->url) + p = ""; + else if (DecodeURL) + p = url_unquote_conv(l->url, buf->document_code); + else + p = l->url; + Strcat_charp(str, p); label[i] = str->ptr; if (len < str->length) len = str->length; |