Adding upstream version 0.5.3

This commit is contained in:
Tatsuya Kinoshita
2011-05-04 16:41:45 +09:00
parent 6db339b3d7
commit 5397d09e58
169 changed files with 53184 additions and 11044 deletions
+8188
View File
File diff suppressed because it is too large Load Diff
+6600
View File
File diff suppressed because it is too large Load Diff
+1163 -506
View File
File diff suppressed because it is too large Load Diff
+15
View File
@@ -0,0 +1,15 @@
/2ch.cgi/1.3/Sat Apr 26 17:01:02 2003//
/README/1.4/Wed Jan 15 15:51:29 2003//
/README.eng/1.4/Wed Jan 15 15:51:30 2003//
/backslash_to_slash.cgi/1.1/Tue Apr 15 14:46:23 2003//
/goodict.cgi/1.2/Sat Apr 12 14:28:56 2003//
/google.cgi/1.1/Fri Jan 10 16:24:01 2003//
/html2latex/1.2/Fri Nov 9 04:59:18 2001//
/htmldump/1.1.1.1/Thu Nov 8 05:16:01 2001//
/makeref/1.1.1.1/Thu Nov 8 05:16:01 2001//
/oldconfigure.sh/1.3/Wed Mar 12 17:20:47 2003//
/scanhist.rb/1.1.1.1/Thu Nov 8 05:16:01 2001//
/smb.cgi/1.3/Fri Jan 31 16:25:12 2003//
/utf8.cgi/1.1/Thu Feb 27 15:14:42 2003//
/wrap3m/1.1.1.1/Thu Nov 8 05:16:01 2001//
D
+1
View File
@@ -0,0 +1 @@
w3m/Bonus
+1
View File
@@ -0,0 +1 @@
:ext:inu@w3m.cvs.sourceforge.net:/cvsroot/w3m
+114
View File
@@ -0,0 +1,114 @@
/.cvsignore/1.12/Fri Sep 26 20:45:53 2003//
/README/1.1.1.1/Thu Nov 8 05:14:08 2001//
/Str.c/1.8/Tue Dec 24 17:20:46 2002//
/Str.h/1.6/Fri Apr 7 13:35:35 2006//
/TODO/1.21/Sun Apr 4 16:47:20 2004//
/anchor.c/1.33/Sat Apr 8 11:33:16 2006//
/charset-list/1.1/Mon Sep 22 21:02:16 2003//
/config.guess/1.2/Wed Aug 4 17:32:27 2004//
/config.h.dist/1.36/Fri Apr 9 17:18:49 2004//
/config.sub/1.2/Wed Aug 4 17:32:27 2004//
/ctrlcode.h/1.3/Mon Sep 22 21:02:17 2003//
/entity.c/1.7/Wed Sep 24 18:48:59 2003//
/entity.tab/1.1/Fri Nov 9 04:59:17 2001//
/form.h/1.6/Mon Sep 22 21:02:18 2003//
/frame.c/1.34/Fri Sep 26 17:59:51 2003//
/frame.h/1.6/Sat Jan 25 17:42:17 2003//
/func.c/1.27/Fri Sep 26 17:59:51 2003//
/func.h/1.4/Tue Dec 3 16:01:33 2002//
/funcname0.awk/1.1.1.1/Thu Nov 8 05:14:56 2001//
/funcname1.awk/1.1.1.1/Thu Nov 8 05:14:56 2001//
/funcname2.awk/1.1.1.1/Thu Nov 8 05:14:56 2001//
/functable.awk/1.1/Mon Dec 10 17:02:44 2001//
/hash.c/1.5/Mon Apr 7 16:27:10 2003//
/hash.h/1.6/Wed Sep 24 18:48:59 2003//
/history.c/1.11/Fri Sep 26 17:59:51 2003//
/history.h/1.5/Sat Jan 26 17:24:01 2002//
/indep.h/1.16/Mon Sep 22 21:02:19 2003//
/inflate.c/1.7/Thu Jan 31 18:28:24 2002//
/islang.c/1.3/Sat Feb 26 17:06:44 2005//
/istream.h/1.12/Mon Oct 20 16:41:56 2003//
/local.h/1.3/Tue Nov 20 17:49:23 2001//
/map.c/1.30/Wed Sep 24 18:49:00 2003//
/matrix.c/1.8/Mon Apr 7 16:27:10 2003//
/matrix.h/1.7/Thu Jul 18 14:59:02 2002//
/menu.h/1.2/Tue Nov 20 17:49:23 2001//
/mimehead.c/1.10/Sun Oct 5 18:52:51 2003//
/mkinstalldirs/1.1/Tue Sep 23 18:42:25 2003//
/myctype.c/1.7/Mon Sep 22 21:02:20 2003//
/myctype.h/1.6/Mon Sep 22 21:02:20 2003//
/news.c/1.17/Sun Oct 5 18:52:51 2003//
/parsetag.c/1.4/Tue Nov 20 17:49:23 2001//
/parsetag.h/1.2/Tue Nov 20 17:49:23 2001//
/parsetagx.h/1.4/Sat Nov 24 02:01:26 2001//
/posubst.in/1.1/Thu Sep 25 18:15:47 2003//
/regex.h/1.6/Mon Sep 22 21:02:21 2003//
/scrsize.c/1.2/Sat Nov 24 02:01:26 2001//
/search.c/1.31/Tue Mar 23 16:44:02 2004//
/table.h/1.12/Mon Sep 22 21:02:21 2003//
/terms.h/1.10/Thu Jul 15 16:32:39 2004//
/textlist.c/1.6/Mon Apr 7 16:27:11 2003//
/textlist.h/1.6/Mon Jan 20 15:30:22 2003//
/w3mhelp-lynx_en.html.in/1.1/Fri Dec 21 22:02:39 2001//
/w3mhelp-lynx_ja.html.in/1.1/Fri Dec 21 22:02:39 2001//
/w3mhelp-w3m_en.html.in/1.1/Fri Dec 21 22:02:39 2001//
/w3mhelp-w3m_ja.html.in/1.1/Fri Dec 21 22:02:39 2001//
D/Bonus////
D/Patches////
D/Symbols////
D/doc////
D/doc-jp////
D/gc////
D/intl////
D/libwc////
D/po////
D/scripts////
D/w3m-doc////
D/w3mimg////
/keybind.c/1.10/Sat Jun 10 09:52:18 2006//
/keybind_lynx.c/1.8/Sat Jun 10 09:52:18 2006//
/parsetagx.c/1.18/Sat Jun 10 09:52:18 2006//
/mailcap.c/1.13/Tue Jan 23 12:24:11 2007//
/Makefile.in/1.44/Tue Jan 4 09:22:18 2011//
/acinclude.m4/1.45/Tue Jan 4 09:22:18 2011//
/aclocal.m4/1.46/Tue Jan 4 09:22:18 2011//
/backend.c/1.15/Tue Jan 4 09:22:19 2011//
/buffer.c/1.30/Tue Jan 4 09:22:19 2011//
/config.h.in/1.21/Tue Jan 4 09:22:19 2011//
/cookie.c/1.11/Tue Jan 4 09:22:20 2011//
/display.c/1.71/Tue Jan 4 09:22:20 2011//
/etc.c/1.81/Tue Jan 4 09:22:20 2011//
/file.c/1.265/Tue Jan 4 09:22:21 2011//
/fm.h/1.149/Tue Jan 4 09:22:21 2011//
/form.c/1.35/Tue Jan 4 09:22:21 2011//
/ftp.c/1.42/Tue Jan 4 09:22:21 2011//
/html.c/1.32/Tue Jan 4 09:22:21 2011//
/html.h/1.31/Tue Jan 4 09:22:21 2011//
/image.c/1.37/Tue Jan 4 09:22:22 2011//
/indep.c/1.38/Tue Jan 4 09:22:22 2011//
/istream.c/1.27/Tue Jan 4 09:22:22 2011//
/linein.c/1.35/Tue Jan 4 09:22:22 2011//
/local.c/1.35/Tue Jan 4 09:22:22 2011//
/menu.c/1.46/Tue Jan 4 09:22:23 2011//
/mktable.c/1.16/Tue Jan 4 09:22:23 2011//
/proto.h/1.104/Tue Jan 4 09:22:23 2011//
/rc.c/1.116/Tue Jan 4 09:22:23 2011//
/regex.c/1.23/Tue Jan 4 09:22:23 2011//
/symbol.c/1.4/Tue Jan 4 09:22:23 2011//
/table.c/1.58/Tue Jan 4 09:22:23 2011//
/tagtable.tab/1.14/Tue Jan 4 09:22:23 2011//
/terms.c/1.63/Tue Jan 4 09:22:23 2011//
/url.c/1.100/Tue Jan 4 09:22:24 2011//
/w3mbookmark.c/1.12/Tue Jan 4 09:22:24 2011//
/w3mhelperpanel.c/1.14/Tue Jan 4 09:22:24 2011//
/w3mimgdisplay.c/1.19/Tue Jan 4 09:22:24 2011//
/main.c/1.270/Tue Jan 4 09:42:19 2011//
/ABOUT-NLS/1.2/Tue Jan 4 12:39:27 2011//
/config.rpath/1.2/Tue Jan 4 12:39:29 2011//
/entity.h/1.6/Tue Jan 4 12:39:29 2011//
/install-sh/1.8/Tue Jan 4 12:39:29 2011//
/ChangeLog/1.1050/Sat Jan 15 07:52:48 2011//
/NEWS/1.80/Sat Jan 15 03:01:36 2011//
/configure/1.164/Sat Jan 15 03:04:22 2011//
/configure.ac/1.12/Sat Jan 15 03:01:55 2011//
/version.c.in/1.48/Sat Jan 15 07:52:48 2011//
+1
View File
@@ -0,0 +1 @@
w3m
+1
View File
@@ -0,0 +1 @@
:ext:inu@w3m.cvs.sourceforge.net:/cvsroot/w3m
+384 -1
View File
@@ -1,3 +1,386 @@
2011-01-15 Dai Sato <satodai@w3m.jp>
* w3m 0.5.2
* version.c.in: update
* doc/README: version 0.5.2, release date, maintainer
* doc-jp/README: ditto
* po/w3m.pot, ja.po: ditto
* NEWS: update
* configure.ac: version 0.5.2
* configure: regenerated
2011-01-05 SAKAI Kiyotaka <kiyotaka.sakai@ntt-at.co.jp>
* [w3m-dev 04445] Re: Update documents (README.cookie)
* doc-jp/README.cookie: refer to RFC 2109.
* doc/README.cookie: diito.
2011-01-05 SAKAI Kiyotaka <kiyotaka.sakai@ntt-at.co.jp>
* [w3m-dev 04444] Re: error when 'make install'
* w3mimg/win/.cvsignore: added.
2011-01-04 SAKAI Kiyotaka <kiyotaka.sakai@ntt-at.co.jp>
* [w3m-dev 04441] error when 'make install'
* update followig files. ABOUT-NLS Makefile.in acinclude.m4
aclocal.m4 config.rpath configure configure.ac entity.h install-sh
po/ChangeLog po/Makefile.in.in po/Rules-quot po/boldquot.sed
po/en@boldquot.header po/en@quot.header po/insert-header.sin
po/quot.sed po/remove-potcdate.sin
2010-12-28 Ito Hiroyuki <ZXB01226@nifty.com>
* [w3m-dev 04440] Update documents (README.cookie)
* doc/README.cookie: added.
* doc-jp/README.cookie: add document about cookie_avoid_wrong_number_of_dots.
2010-12-24 Ito Hiroyuki <ZXB01226@nifty.com>
* [w3m-dev 04439] Update documents (README.m17n)
* doc-jp/README.m17n: add documents for options "east_asian_width", "gb18030_as_ucs" and "simple_preserve_space".
* doc/README.m17n: ditto.
2010-12-24 AIDA Shinra <shinra@j10n.org>
* [w3m-dev 04437] Re: Windows版w3mimg、他
* w3mimg/win/win_w3mimg.cpp: remove unused ifdefs.
(load, animate): support "-anim" option.
(show): support "image_scale".
2010-12-20 AIDA Shinra <shinra@j10n.org>
* [w3m-dev 04425] Re: Windows版w3mimg、他
* w3mimgdisplay: supports Windows console (http://www.j10n.org/files/w3m-cvs-1.1040-misc.patch).
* image.c: ditto.
* configure.ac: ditto.
* config.h.in: ditto.
* acinclude.m4: ditto.
* Makefile.in: ditto.
* w3mimg/w3mimg.h: ditto.
* w3mimg/w3mimg.c: ditto.
* w3mimg/Makefile.in: ditto.
* doc/README.img: ditto.
* doc-jp/README.img: ditto.
* w3mimgdisplay.c (main): call "w_op->close(w_op)" before exit.
* w3mimg/win/win_w3mimg.cpp: added.
* w3mimg/win/Makefile.in: added.
2010-12-20 Ito Hiroyuki <ZXB01226@nifty.com>
* doc/README.img: add documents about some options.
* doc-jp/README.img: ditto.
2010-12-15 AIDA Shinra <shinra@j10n.org>
* [w3m-dev 04424] Windows版w3mimg、他
* scripts/w3mman/Makefile.in (DESTDIR): removed.
* scripts/multipart/Makefile.in (DESTDIR): removed.
* scripts/Makefile.in (DESTDIR): removed.
* url.c (add_index_file): can specify multiple files as an index file for directories.
* mktable.c (defhashfunc): fi indent of output.
* ftp.c (ftp_login): support IPv6.
* file.c (is_text_type): check if the type is "application/xhtml".
* Makefile.in (DESTDIR): removed.
(GC_LIBS): added.
(EXT_LIBS): use "GC_LIBS".
(entity.h): depend on entity.tab and mktable$(EXT).
(indep.o): depend on entity.h
(mktable$(EXT)): depend on Str.o, hash.o and myctype.o instead of $(ALIB).
2010-12-15 Kazuhiko <kazuhiko@fdiary.net>
* [w3m-dev 04419] AC_W3M_EXTLIBS does not check /lib64
* acinclude.m4 (AC_W3M_EXTLIBS): search /lib64 and /usr/lib64.
2010-12-11 theme.of.n@gmail.com
* [w3m-dev 04421] Patch to prevent sending `Referer: ' header from HTTPS to HTTP
* url.c (otherinfo): Don't send Referer: if https:// -> http://
2010-10-11 d+w3m@vdr.jp
* [w3m-dev 04414] Re: "normal" bugs from bugs.debian.org
* doc/w3m.1: add documents about some options.
* doc/FAQ.html: fix typo.
2010-08-24 Karsten Schoelzel <kuser@gmx.de>
* [w3m-dev 04393] [patch] locale-related character management
* http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=313365
* libwc/map/ucs_isalpha.map: added
* libwc/map/ucs_islower.map: added
* libwc/map/ucs_isupper.map: added
* libwc/map/mk_ucs_case_map.pl: added
* libwc/map/ucs_case.map: added
* libwc/map/mk_ucs_isdigit_map.pl: added
* libwc/map/ucs_isdigit.map: added
* libwc/ucs.c (wc_any_to_ucs): ceck if cc.ccs == WC_CCS_US_ASCII
(wc_is_ucs_alpha, wc_is_ucs_digit, wc_is_ucs_alnum)
(wc_is_ucs_lower, wc_is_ucs_upper, wc_ucs_toupper)
(wc_ucs_tolower, wc_ucs_totitle): added
* regex.c (match_longchar, match_range_longchar): use wc_any_to_ucs(), wc_ucs_tolower(), wc_ucs_toupper() and wc_ucs_totitle()
* main.c (nextChar, prevChar, getChar, is_wordchar): added
(movLW): use prevChar() and is_wordchar()
(movRW): use nextChar() and is_wordchar()
(getCurWord): remove 4th parameter
(getCurWord): use prevChar(), nextChar() and is_wordchar()
2010-08-20 Karsten Schoelzel <kuser@gmx.de>
* [w3m-dev 04401] Re: mailto with options handling
* rc.c: Introduce option mailto_options
* main.c (handleMailto): added
(followA, cmd_loadURL): use handleMailto()
* fm.h (MAILTO_OPTIONS_USE_W3MMAILER, MAILTO_OPTIONS_IGNORE)
(MAILTO_OPTIONS_USE_MAILTO_URL): added
2010-08-20 Ito Hiroyuki <ZXB01226@nifty.com>
* [w3m-dev 04402] Re: "normal" bugs from bugs.debian.org
* terms.c (reset_exit_with_value, reset_error_exit): added
(reset_exit): use reset_exit_with_value()
(ttymode_set, ttymode_reset, set_cc, getTCstr)
(sleep_till_anykey): use reset_error_exit() instead of reset_exit()
2010-08-14 "Adam C. Emerson" <azure@azureprime.com>
* [w3m-dev 04390]
* http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=573789
* html.c: All elements have the id attribute.
2010-08-12 Peter J. R. Moulder
* [w3m-dev 04384]
* http://sourceforge.net/tracker/index.php?func=detail&aid=2987194&group_id=39518&atid=425441
* html.c: some tags have ALST_NOP attribute
* tagtable.tab: add <span> and </span>
* html.h (HTML_SPAN, HTML_N_SPAN): added
2010-08-11 SAKAI Kiyotaka <kiyotaka.sakai@ntt-at.co.jp>
* [w3m-dev 04381] Re: check socklen_t
* ftp.c: fix condition (#ifndef HAVE_SOCKLEN_T)
2010-08-10 Ito Hiroyuki <ZXB01226@nifty.com>
* [w3m-dev 04379] check socklen_t
* configure.ac: check socklen_t
* ftp.c (ftp_login, ftp_pasv): use socklen_t instead of int
2010-08-09 Ito Hiroyuki <ZXB01226@nifty.com>
* [w3m-dev 04374] Re: "important" bugs from bugs.debian.org
* table.c (feed_table_tag): don't show message when rowspan is greater than ATTR_ROWSPAN_MAX
* [w3m-dev 04376] Re: "important" bugs from bugs.debian.org
* table.c (feed_table_tag): fix indent
2010-08-08 Steven Harms <ZXB01226@nifty.com>
* [w3m-dev 04371] Re: "important" bugs from bugs.debian.org
* https://bugs.launchpad.net/ubuntu/+source/w3m/+bug/131993
* table.c (ATTR_ROWSPAN_MAX): added
(feed_table_tag): maximum value of rowspan is ATTR_ROWSPAN_MAX
2010-08-08 d+w3m@vdr.jp
* [w3m-dev 04360] Re: "important" bugs from bugs.debian.org
* main.c (main): use DEFAULT_COLS
(main): the maximum value of the -cols option is MAXIMUM_COLS
* backend.c (backend): use DEFAULT_COLS
* fm.h (MAXIMUM_COLS, DEFAULT_COLS): added
2010-08-04 Ito Hiroyuki <ZXB01226@nifty.com>
* [w3m-dev 04369] Re: w3m's bugs from bugs.debian.org
* terms.c (graph_ok): fix condition (UseGraphicChar != GRAPHIC_CHAR_DEC)
* symbol.c (get_symbol): fix condition (UseGraphicChar != GRAPHIC_CHAR_ASCII)
* rc.c (params1): type of graphic_char option is PI_SEL_C
* main.c (main): use GRAPHIC_CHAR_ASCII and GRAPHIC_CHAR_DEC instead of FALSE and TRUE
* fm.h (GRAPHIC_CHAR_ASCII, GRAPHIC_CHAR_DEC, GRAPHIC_CHAR_CHARSET): added
2010-08-03 d+w3m@vdr.jp
* [w3m-dev 04363] Re: w3m's bugs from bugs.debian.org
* doc/w3m.1: revert option -S
* doc-jp/w3m.1: revert option -S, -e, -j and -s
* main.c: remove codes for Debian
2010-08-03 Ito Hiroyuki <ZXB01226@nifty.com>
* [w3m-dev 04343]
* file.c (loadGeneralFile): register user name and password for proxy authentication.
* url.c (HTTPrequest): unused variable seen_proxy_auth was removed
* fm.h: global variables proxy_auth_cookie and pauth are removed
* main.c (main): remove option -pauth
* doc/MANUAL.html: ditto
* doc-jp/MANUAL.html: ditto
* doc-jp/w3m.1: ditto
* doc/w3m.1: ditto
* doc/README.passwd: added
* doc-jp/README.passwd: added
2010-07-31 Tatsuya Kinoshita <tats@vega.ocn.ne.jp>
* [w3m-dev 04350] Re: w3m's bugs from bugs.debian.org
* file.c (process_img): Revert the change of using ATTR_TITLE if ATTR_ALT is empty.
2010-07-30 Ito Hiroyuki <ZXB01226@nifty.com>
* [w3m-dev 04348] Re: "important" bugs from bugs.debian.org
* file.c (TEXTAREA_ATTR_COL_MAX, TEXTAREA_ATTR_ROWS_MAX): added.
(process_textarea): check cur_textarea_size > TEXTAREA_ATTR_COL_MAX and cur_textarea_rows > TEXTAREA_ATTR_ROWS_MAX
2010-07-30 Ito Hiroyuki <ZXB01226@nifty.com>
* [w3m-dev 04345] Re: "important" bugs from bugs.debian.org
* file.c (HR_ATTR_WIDTH_MAX): added.
(process_hr): check w > HR_ATTR_WIDTH_MAX
2010-07-26 d+w3m@vdr.jp
* [w3m-dev 04237] [patch] cookie avoid [wrong number of dots]
* rc.c: Introduce option cookie_avoid_wrong_number_of_dots.
* fm.h: add global variables cookie_avoid_wrong_number_of_dots and Cookie_avoid_wrong_number_of_dots_domains.
* cookie.c (check_avoid_wrong_number_of_dots_domain): added.
(add_cookie): use check_avoid_wrong_number_of_dots_domain().
2010-07-26 Ito Hiroyuki <ZXB01226@nifty.com>
* acinclude.m4: define AC_W3M_SSL_DIGEST_AUTH
2010-07-25 AIDA Shinra <shinra@j10n.org>
* [w3m-dev 04049] Ctrl-C safe resolver
* fm.h (GRAPHIC_CHAR_ASCII, GRAPHIC_CHAR_CHARSET, GRAPHIC_CHAR_ALL): removed.
* fm.h: UseGraphicChar is initialized as FALSE.
* main.c (sig_chld): use TRUE and FALSE instead of GRAPHIC_CHAR_ALL and GRAPHIC_CHAR_ASCII.
* merge ambiguous width patch ( http://www.j10n.org/files/w3m-cvs-1.914-ambwidth.patch ).
2010-07-24 Ito Hiroyuki <ZXB01226@nifty.com>
* [w3m-dev 04326] suppress compile warnings
* file.c (digest_hex): type of the parameter s is "unsigned char *".
(AuthDigestCred): use unsigned char.
(ex_efct): type of the function is "static int".
2010-07-20 Sascha Silbe <sascha-debian-bugs-w3m-1@silbe.org>
* http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=523159#5
* url.c (openSSLHandle): add support for TLS SNI (Server Name Indication)
2010-07-19 Karsten Schoelzel <kuser@gmx.de>
* http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=329862#20
* table.c (feed_table_tag): check displayLinkNumber.
* proto.h: add getLinkNumberStr().
* main.c (do_dump): check displayLinkNumber.
* fm.h: add global variable displayLinkNumber.
* file.c (getLinkNumberStr): added.
(process_input, process_select, HTMLtagproc1): check displayLinkNumber.
2010-07-19 Karsten Schoelzel <kuser@gmx.de>
* http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=329863#8
* rc.c: Introduce option pseudo_inlines.
* fm.h: add global variable pseudoInlines.
* file.c (process_img): check q.
2010-07-19 "Trent W. Buck" <twb@cybersource.com.au>
* http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=537706#10
* rc.c (interpret_rc): check line->length before call Strchop().
2010-07-19 Karsten Schoelzel <kuser@gmx.de>
* http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=366284#5
* rc.c (init_rc): check config_file is NULL or not.
(panel_set_option): check config_file instead of no_rc_dir.
2010-07-19 Karsten Schoelzel <kuser@gmx.de>
* http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=261174#10
* terms.c (graph_ok): check UseGraphicChar is GRAPHIC_CHAR_ALL or not.
* symbol.c (get_symbol): check UseGraphicChar.
* rc.c (graphic_char_str): added.
* main.c (sig_chld): use GRAPHIC_CHAR_ASCII and GRAPHIC_CHAR_ALL.
* fm.h (GRAPHIC_CHAR_ASCII, GRAPHIC_CHAR_CHARSET, GRAPHIC_CHAR_ALL): added.
* fm.h: UseGraphicChar is initialized as GRAPHIC_CHAR_ASCII.
2010-07-19 Karsten Schoelzel <kuser@gmx.de>
* http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=185006#22
* main.c (sig_chld): save exit code to d->err.
(addDownloadList): initialize d->running and d->err.
(DownloadListBuffer): check d->err.
* fm.h (_DownloadList): add running and err.
* file.c (save2tmp): check returned value of Strfputs().
(doFileSave): exit code is depend on the returned value of save2tmp().
2010-07-19 d+w3m@vdr.jp
* [w3m-dev 04238] [patch] simple preserve space
* rc.c: Introduce option simple_preserve_space.
* fm.h: add global variable SimplePreserveSpace.
* file.c (HTMLlineproc0): check SimplePreserveSpace.
2010-07-18 Karsten Schoelzel <kuser@gmx.de>
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=242599#21
* file.c (is_html_type): added.
(examineFile, loadGeneralFile, _saveBuffer)
(openGeneralPagerBuffer, reloadBuffer): use is_html_type() instead
of strcasecmp().
(loadGeneralFile): set f.guess_tupe
* display.c (displayBuffer): use is_html_type() instead of strcasecmp().
* buffer.c (reshapeBuffer): use is_html_type() instead of strcasecmp().
* backend.c (internal_get): use is_html_type() instead of strcasecmp().
* main.c (vwSrc, reload, dispI, stopI): use is_html_type() instead of strcasecmp().
* proto.h: add is_html_type()
* url.c: add "xhtml" to DefaultGuess.
2010-07-18 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp>
* [w3m-dev 04286] Re: break textform when buffer back
* form.c (form_update_line): set line->size
2010-07-18 d+w3m@vdr.jp
* [w3m-dev 04319] Re: w3m's bugs from bugs.debian.org
* doc/w3m.1: fix typo.
* doc-jp/w3m.1: update
2010-07-18 Petr Salinger <Petr.Salinger@seznam.cz>
* http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=493486
* terms.c: fix version check logic for FreeBSD
2010-07-18 Colin Watson <cjwatson@ubuntu.com>
* http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=325699
* scripts/w3mman/w3mman2html.cgi.in (Content-Type): "MAN_KEEP_FORMATTING=1"
2010-07-18 Ludwig Nussel <ludwig.nussel@...e.de>
* http://www.openwall.com/lists/oss-security/2010/06/14/4
* istream.c (ssl_check_cert_ident): replace \0 to make full string
visible to user (CVE-2010-2074).
2007-06-07 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp>
* [w3m-dev 04279] charset
* libwc/ces.h, libwc/charset.c: set charset to Shift_JIS, when locale
is japanese, jp_JP.PCK, ja_JP.IBM-932, ja_JP.IBM-943, or windows-31j.
2007-06-07 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp>
* [w3m-dev 04278] Re: segfault on CentOS4.5/libgc6.8
* term.c: add handling xterm-incompatible terminals without gpm.
2007-06-04 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp>
* [w3m-dev 04271] vi_prec_num
* main.c: make number prefixes working when vi_prec_num=0.
2007-05-31 Dai Sato <satodai@w3m.jp>
* w3m 0.5.2
@@ -8917,4 +9300,4 @@ a * [w3m-dev 03276] compile error on EWS4800
* release-0-2-1
* import w3m-0.2.1
$Id: ChangeLog,v 1.998 2007/05/31 12:17:05 inu Exp $
$Id: ChangeLog,v 1.1050 2011/01/15 07:52:48 inu Exp $
+14 -8
View File
@@ -27,7 +27,6 @@ sysconfdir = @sysconfdir@
top_srcdir = @top_srcdir@
top_builddir = .
VPATH = $(top_srcdir):.
DESTDIR =
CGIBIN_DIR = $(libexecdir)/$(PACKAGE)/cgi-bin
AUXBIN_DIR = $(libexecdir)/$(PACKAGE)
@@ -46,7 +45,8 @@ DEFS = @DEFS@ -DAUXBIN_DIR=\"$(AUXBIN_DIR)\" \
-DLOCALEDIR=\"$(localedir)\"
LDFLAGS = @LDFLAGS@
LIBS = @LIBS@
EXT_LIBS = -L. -lindep @LIBINTL@ @LIBGC@
GC_LIBS = @LIBGC@
EXT_LIBS = -L. -lindep @LIBINTL@ $(GC_LIBS)
W3M_LIBS = @W3M_LIBS@
WCTARGET = @WCTARGET@
NLSTARGET = @NLSTARGET@
@@ -58,10 +58,12 @@ MAKE_ARGS = PERL='$(PERL)' MKDIR='$(MKDIR)' \
CONF_DIR='$(CONF_DIR)' \
RC_DIR='$(RC_DIR)' DESTDIR='$(DESTDIR)' KEYBIND_SRC='$(KEYBIND_SRC)'
IMGCFLAGS = @IMGX11CFLAGS@ @IMGFBCFLAGS@
IMGLDFLAGS = @IMGX11LDFLAGS@ @IMGFBLDFLAGS@
IMGCFLAGS = @IMGX11CFLAGS@ @IMGFBCFLAGS@ @IMGWINCFLAGS@
IMGLDFLAGS = @IMGX11LDFLAGS@ @IMGFBLDFLAGS@ @IMGWINLDFLAGS@
CC0 = @CC@
CXX = @CXX@
IMGLINK = @IMGLINK@
CC = @POSUBST@ $(CC0)
CPP = @CPP@
RANLIB=@RANLIB@
@@ -136,7 +138,11 @@ $(OBJS) $(LOBJS): fm.h funcname1.h
tagtable.c: tagtable.tab mktable$(EXT) html.h
./mktable$(EXT) 100 $(srcdir)/tagtable.tab > $@
indep.o: indep.c fm.h funcname1.h
entity.h: entity.tab mktable$(EXT)
echo '/* $$I''d$$ */' > $@
./mktable$(EXT) 100 $(srcdir)/entity.tab >> $@
indep.o: indep.c fm.h funcname1.h entity.h
func.o: funcname.c functable.c funcname1.h
keybind.o: funcname2.h
keybind_lynx.o: funcname2.h
@@ -170,8 +176,8 @@ functable.c: funcname.tab mktable$(EXT)
./mktable$(EXT) 100 functable.tab > $@
-rm -f functable.tab
mktable$(EXT): mktable.o dummy.o $(ALIB)
$(CC) $(CFLAGS) -o mktable mktable.o dummy.o $(LDFLAGS) $(LIBS) $(EXT_LIBS)
mktable$(EXT): mktable.o dummy.o Str.o hash.o myctype.o
$(CC) $(CFLAGS) -o mktable mktable.o dummy.o Str.o hash.o myctype.o $(LDFLAGS) $(LIBS) $(GC_LIBS)
$(BOOKMARKER): w3mbookmark.o dummy.o $(ALIB)
$(CC) $(CFLAGS) -o $(BOOKMARKER) w3mbookmark.o dummy.o $(LDFLAGS) $(LIBS) $(EXT_LIBS)
@@ -193,7 +199,7 @@ dummy.o: entity.c
$(CC) $(CFLAGS) -DDUMMY -c -o $@ $?
$(IMGDISPLAY): w3mimgdisplay.o $(ALIB) w3mimg/w3mimg.a
$(CC) $(CFLAGS) -o $(IMGDISPLAY) w3mimgdisplay.o w3mimg/w3mimg.a $(LDFLAGS) $(LIBS) $(IMGLDFLAGS)
$(IMGLINK) $(CFLAGS) -o $(IMGDISPLAY) w3mimgdisplay.o w3mimg/w3mimg.a $(LDFLAGS) $(LIBS) $(IMGLDFLAGS)
w3mimgdisplay.o: w3mimgdisplay.c w3mimg/w3mimg.h
$(CC) $(CFLAGS) $(IMGCFLAGS) -o $@ -c $(srcdir)/w3mimgdisplay.c
+16
View File
@@ -1,3 +1,19 @@
w3m 0.5.3 - 2011-01-15
* security fix
- fix vulnerabilities indicated by bugs.debian.org.
- suppress sending Referer, if https:// -> http://
* new features
- adapt w3mimg to native windows on MS Windows.
- support xterm-incompatible terminals without gpm.
- add "xhtml" to default guess.
- introduce option pseudo_inlines.
- add option to avoid "wrong number of dots" error in cookies.
* other bug fixes
- fix "important" bugs from bugs.debian.org
- preserve spaces in multibyte context.
- fix proxy authentication.
w3m 0.5.2 - 2007-05-31
* security fix
+1
View File
@@ -0,0 +1 @@
D
+1
View File
@@ -0,0 +1 @@
w3m/Patches
+1
View File
@@ -0,0 +1 @@
:ext:inu@w3m.cvs.sourceforge.net:/cvsroot/w3m
+11
View File
@@ -0,0 +1,11 @@
/alt.sym/1.1/Mon Sep 22 21:02:22 2003//
/big5.sym/1.1/Mon Sep 22 21:02:22 2003//
/cp850.sym/1.1/Mon Sep 22 21:02:22 2003//
/euccn.sym/1.1/Mon Sep 22 21:02:22 2003//
/eucjp.sym/1.1/Mon Sep 22 21:02:22 2003//
/euckr.sym/1.1/Mon Sep 22 21:02:22 2003//
/euctw.sym/1.1/Mon Sep 22 21:02:22 2003//
/graph.sym/1.1/Mon Sep 22 21:02:22 2003//
/sym.pl/1.1/Mon Sep 22 21:02:22 2003//
/utf8.sym/1.1/Mon Sep 22 21:02:22 2003//
D
+1
View File
@@ -0,0 +1 @@
w3m/Symbols
+1
View File
@@ -0,0 +1 @@
:ext:inu@w3m.cvs.sourceforge.net:/cvsroot/w3m
+43 -22
View File
@@ -283,18 +283,6 @@ AC_DEFUN([AC_W3M_KEYMAP],
AC_DEFINE_UNQUOTED(KEYBIND, $enable_keymap)])
#
# ----------------------------------------------------------------
# AC_W3M_DIGEST_AUTH
# ----------------------------------------------------------------
AC_DEFUN([AC_W3M_DIGEST_AUTH],
[AC_SUBST(USE_DIGEST_AUTH)
AC_MSG_CHECKING(if digest auth is enabled)
AC_ARG_ENABLE(digest_auth,
[ --disable-digest-auth disable digest auth],,
[enable_digest_auth="yes"])
test x"$enable_digest_auth" = xyes && AC_DEFINE(USE_DIGEST_AUTH)
AC_MSG_RESULT($enable_digest_auth)])
#
# ----------------------------------------------------------------
# AC_W3M_MIGEMO
# ----------------------------------------------------------------
AC_DEFUN([AC_W3M_MIGEMO],
@@ -394,7 +382,7 @@ AC_DEFUN([AC_W3M_EXTLIBS],
[lib=$1
AC_MSG_CHECKING(for -l$lib)
extlib="not found"
for dir in /lib /usr/lib /usr/local/lib /usr/ucblib /usr/ccslib /usr/ccs/lib
for dir in /lib /usr/lib /usr/local/lib /usr/ucblib /usr/ccslib /usr/ccs/lib /lib64 /usr/lib64
do
if test -f $dir/lib$lib.a -o -f $dir/lib$lib.so ; then
LIBS="$LIBS -l$lib"
@@ -426,6 +414,7 @@ AC_ARG_WITH(termlib,
# ----------------------------------------------------------------
AC_DEFUN([AC_W3M_GC],
[AC_MSG_CHECKING(GC library exists)
AC_SUBST(LIBGC)
AC_ARG_WITH(gc,
[ --with-gc[=PREFIX] libgc PREFIX],
[test x"$with_gc" = xno && AC_MSG_ERROR([You can not build w3m without gc])],
@@ -456,7 +445,7 @@ AC_ARG_WITH(gc,
fi
fi
unset ac_cv_lib_gc_GC_init
AC_CHECK_LIB(gc, GC_init, [LIBS="$LIBS -lgc"])
AC_CHECK_LIB(gc, GC_init, [LIBGC="-lgc"])
if test x"$ac_cv_lib_gc_GC_init" = xno; then
AC_MSG_CHECKING(GC library location)
AC_MSG_RESULT($with_gc)
@@ -466,7 +455,7 @@ AC_ARG_WITH(gc,
LDFLAGS="$LDFLAGS -L$dir/lib"
AC_MSG_CHECKING($dir)
unset ac_cv_lib_gc_GC_init
AC_CHECK_LIB(gc, GC_init, [gclibdir="$dir/lib"; LIBS="$LIBS -L$dir/lib -lgc"; break])
AC_CHECK_LIB(gc, GC_init, [gclibdir="$dir/lib"; LIBGC="-L$dir/lib -lgc"; break])
LDFLAGS="$ldflags"
done
if test x"$gclibdir" = xno; then
@@ -475,9 +464,9 @@ AC_ARG_WITH(gc,
fi])
#
# ----------------------------------------------------------------
# AC_W3M_SSL
# AC_W3M_SSL_DIGEST_AUTH
# ----------------------------------------------------------------
AC_DEFUN([AC_W3M_SSL],
AC_DEFUN([AC_W3M_SSL_DIGEST_AUTH],
[AC_SUBST(USE_SSL)
AC_SUBST(USE_SSL_VERIFY)
AC_MSG_CHECKING(if SSL is suported)
@@ -519,7 +508,19 @@ if test x"$with_ssl" != xno; then
test x"$enable_sslverify" = xyes && AC_DEFINE(USE_SSL_VERIFY)
AC_MSG_RESULT($enable_sslverify)
fi
fi])
fi
AC_SUBST(USE_DIGEST_AUTH)
AC_MSG_CHECKING(if digest auth is enabled)
AC_ARG_ENABLE(digest_auth,
[ --disable-digest-auth disable digest auth],,
[enable_digest_auth="yes"])
if test x"$enable_digest_auth" = xyes -a x"$w3m_ssl" = xfound; then
AC_DEFINE(USE_DIGEST_AUTH)
else
enable_digest_auth="no"
fi
AC_MSG_RESULT($enable_digest_auth)
])
#
# ----------------------------------------------------------------
# AC_W3M_ALARM
@@ -568,6 +569,8 @@ AC_DEFUN([AC_W3M_IMAGE],
[AC_SUBST(USE_IMAGE)
AC_SUBST(USE_W3MIMG_X11)
AC_SUBST(USE_W3MIMG_FB)
AC_SUBST(USE_W3MIMG_WIN)
AC_SUBST(IMGLINK)
AC_SUBST(W3MIMGDISPLAY_SETUID)
AC_SUBST(INSTALL_W3MIMGDISPLAY)
INSTALL_W3MIMGDISPLAY='${INSTALL_PROGRAM}'
@@ -582,10 +585,12 @@ AC_DEFUN([AC_W3M_IMAGE],
AC_SUBST(IMGX11LDFLAGS)
AC_SUBST(IMGFBCFLAGS)
AC_SUBST(IMGFBLDFLAGS)
AC_SUBST(IMGWINCFLAGS)
AC_SUBST(IMGWINLDFLAGS)
AC_MSG_CHECKING(if image is enabled)
AC_ARG_ENABLE(image,
[ --enable-image[=DEVS] enable inline image handler for DEVS
DEVS may be comma separeted: x11,fb,fb+s
DEVS may be comma separeted: x11,fb,fb+s,win
default: autodetected.
'no' means disable inline image],,
[enable_image="yes"])
@@ -599,10 +604,14 @@ AC_DEFUN([AC_W3M_IMAGE],
if test -c /dev/fb0; then
enable_image=x11,fb
fi;;
CYGWIN*)
enable_image=x11,win;;
esac
fi
save_ifs="$IFS"; IFS=",";
for img in $enable_image; do
set x $enable_image; shift
IFS="$save_ifs"
for img in "$[]@"; do
case $img in
x11) x11=yes;;
fb) fb=yes;;
@@ -610,9 +619,9 @@ AC_DEFUN([AC_W3M_IMAGE],
AC_DEFINE(W3MIMGDISPLAY_SETUID)
INSTALL_W3MIMGDISPLAY='${INSTALL} -o root -m 4755 -s'
AC_DEFINE(INSTALL_W3MIMGDISPLAY, $INSTALL_W3MIMGDISPLAY);;
win) win=yes;;
esac
done
IFS="$save_ifs"
enable_image=yes
AC_DEFINE(USE_IMAGE)
AC_MSG_CHECKING(image library)
@@ -658,6 +667,7 @@ AC_DEFUN([AC_W3M_IMAGE],
esac
done
IMGTARGETS=""
IMGLINK='$(CC)'
if test x"$with_gtk2" = xyes; then
AC_W3M_CHECK_VER([GdkPixbuf],
[`$PKG_CONFIG --modversion gdk-pixbuf-2.0 2>/dev/null`],
@@ -751,12 +761,23 @@ AC_DEFUN([AC_W3M_IMAGE],
AC_MSG_WARN([unable to build w3mimgdisplay with FB support])
fi
fi
if test x"$win" = xyes; then
AC_DEFINE(USE_W3MIMG_WIN)
IMGOBJS="$IMGOBJS win/win_w3mimg.o"
IMGTARGETS="${IMGTARGETS} win"
IMGWINCFLAGS="-I/usr/include/w32api"
IMGWINLDFLAGS="-lgdiplus -lgdi32 -luser32"
IMGLINK='$(CXX)'
fi
AC_DEFINE(IMGTARGETS, "$IMGTARGETS")
AC_DEFINE(IMGOBJS, "$IMGOBJS")
AC_DEFINE(IMGX11CFLAGS, "$IMGX11CFLAGS")
AC_DEFINE(IMGX11LDFLAGS, "$IMGX11LDFLAGS")
AC_DEFINE(IMGFBCFLAGS, "$IMGFBCFLAGS")
AC_DEFINE(IMGFBLDFLAGS, "$IMGLDFLAGS")
AC_DEFINE(IMGFBLDFLAGS, "$IMGFBLDFLAGS")
AC_DEFINE(IMGLINK, "$IMGLINK")
AC_DEFINE(IMGWINCFLAGS, "$IMGWINCFLAGS")
AC_DEFINE(IMGWINLDFLAGS, "$IMGWINLDFLAGS")
fi])
# ----------------------------------------------------------------
# AC_W3M_XFACE
Vendored
+1579 -2602
View File
File diff suppressed because it is too large Load Diff
+3 -3
View File
@@ -1,4 +1,4 @@
/* $Id: backend.c,v 1.13 2003/09/22 21:02:16 ukai Exp $ */
/* $Id: backend.c,v 1.15 2010/08/08 09:53:42 htrb Exp $ */
#include <stdio.h>
#include <string.h>
#include <sys/types.h>
@@ -95,7 +95,7 @@ internal_get(char *url, int flag, FormList *request)
buf = loadGeneralFile(url, NULL, NO_REFERER, 0, request);
do_download = FALSE;
if (buf != NULL && buf != NO_BUFFER) {
if (!strcasecmp(buf->type, "text/html") && backend_halfdump_buf) {
if (is_html_type(buf->type) && backend_halfdump_buf) {
TextLineListItem *p;
Str first, last;
int len = 0;
@@ -294,7 +294,7 @@ backend(void)
w3m_dump = 0;
if (COLS == 0)
COLS = 80;
COLS = DEFAULT_COLS;
#ifdef USE_MOUSE
use_mouse = FALSE;
#endif /* USE_MOUSE */
+3 -3
View File
@@ -1,4 +1,4 @@
/* $Id: buffer.c,v 1.29 2003/09/26 17:59:51 ukai Exp $ */
/* $Id: buffer.c,v 1.30 2010/07/18 14:10:09 htrb Exp $ */
#include "fm.h"
#ifdef USE_MOUSE
@@ -558,7 +558,7 @@ reshapeBuffer(Buffer *buf)
WcOption.auto_detect = WC_OPT_DETECT_OFF;
UseContentCharset = FALSE;
#endif
if (!strcasecmp(buf->type, "text/html"))
if (is_html_type(buf->type))
loadHTMLBuffer(&f, buf);
else
loadBuffer(&f, buf);
@@ -590,7 +590,7 @@ reshapeBuffer(Buffer *buf)
gotoLine(buf, cur->linenumber);
}
buf->pos -= buf->currentLine->bpos;
if (FoldLine && strcasecmp(buf->type, "text/html"))
if (FoldLine && !is_html_type(buf->type))
buf->currentColumn = 0;
else
buf->currentColumn = sbuf.currentColumn;
+2
View File
@@ -69,6 +69,7 @@
#undef USE_IMAGE
#undef USE_W3MIMG_X11
#undef USE_W3MIMG_FB
#undef USE_W3MIMG_WIN
#undef W3MIMGDISPLAY_SETUID
#undef USE_IMLIB
#undef USE_GDKPIXBUF
@@ -81,6 +82,7 @@
#define ID_EXT
#undef CLEAR_BUF
#undef INET6
#undef HAVE_SOCKLEN_T
#undef HAVE_OLD_SS_FAMILY
#define USE_EGD
#define ENABLE_REMOVE_TRAILINGSPACES
+221 -97
View File
@@ -2,28 +2,13 @@
# Output a system dependent set of variables, describing how to set the
# run time search path of shared libraries in an executable.
#
# Copyright 1996-2003 Free Software Foundation, Inc.
# Copyright 1996-2010 Free Software Foundation, Inc.
# Taken from GNU libtool, 2001
# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
# This file is free software; the Free Software Foundation gives
# unlimited permission to copy and/or distribute it, with or without
# modifications, as long as this notice is preserved.
#
# The first argument passed to this file is the canonical host specification,
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
@@ -40,7 +25,7 @@
# known workaround is to choose shorter directory names for the build
# directory and/or the installation directory.
# All known linkers require a `.a' archive for static linking (except M$VC,
# All known linkers require a `.a' archive for static linking (except MSVC,
# which needs '.lib').
libext=a
shrext=.so
@@ -50,7 +35,19 @@ host_cpu=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
host_vendor=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
host_os=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
# Code taken from libtool.m4's AC_LIBTOOL_PROG_COMPILER_PIC.
# Code taken from libtool.m4's _LT_CC_BASENAME.
for cc_temp in $CC""; do
case $cc_temp in
compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
\-*) ;;
*) break;;
esac
done
cc_basename=`echo "$cc_temp" | sed -e 's%^.*/%%'`
# Code taken from libtool.m4's _LT_COMPILER_PIC.
wl=
if test "$GCC" = yes; then
@@ -60,7 +57,14 @@ else
aix*)
wl='-Wl,'
;;
mingw* | pw32* | os2*)
darwin*)
case $cc_basename in
xlc*)
wl='-Wl,'
;;
esac
;;
mingw* | cygwin* | pw32* | os2* | cegcc*)
;;
hpux9* | hpux10* | hpux11*)
wl='-Wl,'
@@ -70,20 +74,39 @@ else
;;
newsos6)
;;
linux*)
case $CC in
icc|ecc)
linux* | k*bsd*-gnu)
case $cc_basename in
ecc*)
wl='-Wl,'
;;
ccc)
icc* | ifort*)
wl='-Wl,'
;;
lf95*)
wl='-Wl,'
;;
pgcc | pgf77 | pgf90)
wl='-Wl,'
;;
ccc*)
wl='-Wl,'
;;
como)
wl='-lopt='
;;
*)
case `$CC -V 2>&1 | sed 5q` in
*Sun\ C*)
wl='-Wl,'
;;
esac
;;
esac
;;
osf3* | osf4* | osf5*)
wl='-Wl,'
;;
sco3.2v5*)
rdos*)
;;
solaris*)
wl='-Wl,'
@@ -91,17 +114,23 @@ else
sunos4*)
wl='-Qoption ld '
;;
sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
sysv4 | sysv4.2uw2* | sysv4.3*)
wl='-Wl,'
;;
sysv4*MP*)
;;
sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
wl='-Wl,'
;;
unicos*)
wl='-Wl,'
;;
uts4*)
;;
esac
fi
# Code taken from libtool.m4's AC_LIBTOOL_PROG_LD_SHLIBS.
# Code taken from libtool.m4's _LT_LINKER_SHLIBS.
hardcode_libdir_flag_spec=
hardcode_libdir_separator=
@@ -109,7 +138,7 @@ hardcode_direct=no
hardcode_minus_L=no
case "$host_os" in
cygwin* | mingw* | pw32*)
cygwin* | mingw* | pw32* | cegcc*)
# FIXME: the MSVC++ port hasn't been tested in a loooong time
# When not using gcc, we currently assume that we are using
# Microsoft Visual C++.
@@ -117,6 +146,10 @@ case "$host_os" in
with_gnu_ld=no
fi
;;
interix*)
# we just hope/assume this is gcc and not c89 (= MSVC++)
with_gnu_ld=yes
;;
openbsd*)
with_gnu_ld=no
;;
@@ -124,8 +157,14 @@ esac
ld_shlibs=yes
if test "$with_gnu_ld" = yes; then
# Set some defaults for GNU ld with shared library support. These
# are reset later if shared libraries are not supported. Putting them
# here allows them to be overridden if necessary.
# Unlike libtool, we use -rpath here, not --rpath, since the documented
# option of GNU ld is called -rpath, not --rpath.
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
case "$host_os" in
aix3* | aix4* | aix5*)
aix[3-9]*)
# On AIX/PPC, the GNU linker is very broken
if test "$host_cpu" != ia64; then
ld_shlibs=no
@@ -138,18 +177,18 @@ if test "$with_gnu_ld" = yes; then
# that the semantics of dynamic libraries on AmigaOS, at least up
# to version 4, is to share data among multiple programs linked
# with the same dynamic library. Since this doesn't match the
# behavior of shared libraries on other platforms, we can use
# behavior of shared libraries on other platforms, we cannot use
# them.
ld_shlibs=no
;;
beos*)
if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
:
else
ld_shlibs=no
fi
;;
cygwin* | mingw* | pw32*)
cygwin* | mingw* | pw32* | cegcc*)
# hardcode_libdir_flag_spec is actually meaningless, as there is
# no search path for DLLs.
hardcode_libdir_flag_spec='-L$libdir'
@@ -159,32 +198,55 @@ if test "$with_gnu_ld" = yes; then
ld_shlibs=no
fi
;;
netbsd*)
interix[3-9]*)
hardcode_direct=no
hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
;;
solaris* | sysv5*)
if $LD -v 2>&1 | egrep 'BFD 2\.8' > /dev/null; then
ld_shlibs=no
elif $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
gnu* | linux* | k*bsd*-gnu)
if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
:
else
ld_shlibs=no
fi
;;
netbsd*)
;;
solaris*)
if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
ld_shlibs=no
elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
:
else
ld_shlibs=no
fi
;;
sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
case `$LD -v 2>&1` in
*\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
ld_shlibs=no
;;
*)
if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`'
else
ld_shlibs=no
fi
;;
esac
;;
sunos4*)
hardcode_direct=yes
;;
*)
if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
:
else
ld_shlibs=no
fi
;;
esac
if test "$ld_shlibs" = yes; then
# Unlike libtool, we use -rpath here, not --rpath, since the documented
# option of GNU ld is called -rpath, not --rpath.
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
if test "$ld_shlibs" = no; then
hardcode_libdir_flag_spec=
fi
else
case "$host_os" in
@@ -198,7 +260,7 @@ else
hardcode_direct=unsupported
fi
;;
aix4* | aix5*)
aix[4-9]*)
if test "$host_cpu" = ia64; then
# On IA64, the linker does run time linking by default, so we don't
# have to do anything special.
@@ -208,13 +270,14 @@ else
# Test if we are trying to use run time linking or normal
# AIX style linking. If -brtl is somewhere in LDFLAGS, we
# need to do runtime linking.
case $host_os in aix4.[23]|aix4.[23].*|aix5*)
case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
for ld_flag in $LDFLAGS; do
if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
aix_use_runtimelinking=yes
break
fi
done
;;
esac
fi
hardcode_direct=yes
@@ -226,7 +289,7 @@ else
strings "$collect2name" | grep resolve_lib_name >/dev/null
then
# We have reworked collect2
hardcode_direct=yes
:
else
# We have old collect2
hardcode_direct=unsupported
@@ -234,6 +297,7 @@ else
hardcode_libdir_flag_spec='-L$libdir'
hardcode_libdir_separator=
fi
;;
esac
fi
# Begin _LT_AC_SYS_LIBPATH_AIX.
@@ -266,9 +330,9 @@ else
# see comment about different semantics on the GNU ld section
ld_shlibs=no
;;
bsdi4*)
bsdi[45]*)
;;
cygwin* | mingw* | pw32*)
cygwin* | mingw* | pw32* | cegcc*)
# When not using gcc, we currently assume that we are using
# Microsoft Visual C++.
# hardcode_libdir_flag_spec is actually meaningless, as there is
@@ -277,8 +341,17 @@ else
libext=lib
;;
darwin* | rhapsody*)
if $CC -v 2>&1 | grep 'Apple' >/dev/null ; then
hardcode_direct=no
hardcode_direct=no
if test "$GCC" = yes ; then
:
else
case $cc_basename in
xlc*)
;;
*)
ld_shlibs=no
;;
esac
fi
;;
dgux*)
@@ -295,7 +368,7 @@ else
hardcode_direct=yes
hardcode_minus_L=yes
;;
freebsd*)
freebsd* | dragonfly*)
hardcode_libdir_flag_spec='-R$libdir'
hardcode_direct=yes
;;
@@ -307,24 +380,25 @@ else
# but as the default location of the library.
hardcode_minus_L=yes
;;
hpux10* | hpux11*)
hpux10*)
if test "$with_gnu_ld" = no; then
case "$host_cpu" in
hppa*64*)
hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
hardcode_libdir_separator=:
hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
hardcode_libdir_separator=:
hardcode_direct=yes
# hardcode_minus_L: Not really in the search PATH,
# but as the default location of the library.
hardcode_minus_L=yes
fi
;;
hpux11*)
if test "$with_gnu_ld" = no; then
hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
hardcode_libdir_separator=:
case $host_cpu in
hppa*64*|ia64*)
hardcode_direct=no
;;
ia64*)
hardcode_libdir_flag_spec='-L$libdir'
hardcode_direct=no
# hardcode_minus_L: Not really in the search PATH,
# but as the default location of the library.
hardcode_minus_L=yes
;;
*)
hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
hardcode_libdir_separator=:
hardcode_direct=yes
# hardcode_minus_L: Not really in the search PATH,
# but as the default location of the library.
@@ -347,18 +421,22 @@ else
hardcode_libdir_separator=:
;;
openbsd*)
hardcode_direct=yes
if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
if test -f /usr/libexec/ld.so; then
hardcode_direct=yes
if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
else
case "$host_os" in
openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
hardcode_libdir_flag_spec='-R$libdir'
;;
*)
hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
;;
esac
fi
else
case "$host_os" in
openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
hardcode_libdir_flag_spec='-R$libdir'
;;
*)
hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
;;
esac
ld_shlibs=no
fi
;;
os2*)
@@ -378,8 +456,6 @@ else
fi
hardcode_libdir_separator=:
;;
sco3.2v5*)
;;
solaris*)
hardcode_libdir_flag_spec='-R$libdir'
;;
@@ -408,14 +484,11 @@ else
ld_shlibs=yes
fi
;;
sysv4.2uw2*)
hardcode_direct=yes
hardcode_minus_L=no
sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
;;
sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[78]* | unixware7*)
;;
sysv5*)
hardcode_libdir_flag_spec=
sysv5* | sco3.2v5* | sco5v6*)
hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
hardcode_libdir_separator=':'
;;
uts4*)
hardcode_libdir_flag_spec='-L$libdir'
@@ -427,35 +500,55 @@ else
fi
# Check dynamic linker characteristics
# Code taken from libtool.m4's AC_LIBTOOL_SYS_DYNAMIC_LINKER.
# Code taken from libtool.m4's _LT_SYS_DYNAMIC_LINKER.
# Unlike libtool.m4, here we don't care about _all_ names of the library, but
# only about the one the linker finds when passed -lNAME. This is the last
# element of library_names_spec in libtool.m4, or possibly two of them if the
# linker has special search rules.
library_names_spec= # the last element of library_names_spec in libtool.m4
libname_spec='lib$name'
case "$host_os" in
aix3*)
library_names_spec='$libname.a'
;;
aix4* | aix5*)
aix[4-9]*)
library_names_spec='$libname$shrext'
;;
amigaos*)
library_names_spec='$libname.a'
;;
beos*)
library_names_spec='$libname$shrext'
;;
bsdi4*)
bsdi[45]*)
library_names_spec='$libname$shrext'
;;
cygwin* | mingw* | pw32*)
cygwin* | mingw* | pw32* | cegcc*)
shrext=.dll
library_names_spec='$libname.dll.a $libname.lib'
;;
darwin* | rhapsody*)
shrext=.dylib
library_names_spec='$libname$shrext'
;;
dgux*)
library_names_spec='$libname$shrext'
;;
freebsd1*)
;;
freebsd*)
freebsd* | dragonfly*)
case "$host_os" in
freebsd[123]*)
library_names_spec='$libname$shrext$versuffix' ;;
*)
library_names_spec='$libname$shrext' ;;
esac
;;
gnu*)
library_names_spec='$libname$shrext'
;;
hpux9* | hpux10* | hpux11*)
case "$host_cpu" in
case $host_cpu in
ia64*)
shrext=.so
;;
@@ -466,8 +559,13 @@ case "$host_os" in
shrext=.sl
;;
esac
library_names_spec='$libname$shrext'
;;
interix[3-9]*)
library_names_spec='$libname$shrext'
;;
irix5* | irix6* | nonstopux*)
library_names_spec='$libname$shrext'
case "$host_os" in
irix5* | nonstopux*)
libsuff= shlibsuff=
@@ -484,42 +582,62 @@ case "$host_os" in
;;
linux*oldld* | linux*aout* | linux*coff*)
;;
linux*)
linux* | k*bsd*-gnu)
library_names_spec='$libname$shrext'
;;
knetbsd*-gnu)
library_names_spec='$libname$shrext'
;;
netbsd*)
library_names_spec='$libname$shrext'
;;
newsos6)
library_names_spec='$libname$shrext'
;;
nto-qnx)
nto-qnx*)
library_names_spec='$libname$shrext'
;;
openbsd*)
library_names_spec='$libname$shrext$versuffix'
;;
os2*)
libname_spec='$name'
shrext=.dll
library_names_spec='$libname.a'
;;
osf3* | osf4* | osf5*)
library_names_spec='$libname$shrext'
;;
sco3.2v5*)
rdos*)
;;
solaris*)
library_names_spec='$libname$shrext'
;;
sunos4*)
library_names_spec='$libname$shrext$versuffix'
;;
sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
sysv4 | sysv4.3*)
library_names_spec='$libname$shrext'
;;
sysv4*MP*)
library_names_spec='$libname$shrext'
;;
sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
library_names_spec='$libname$shrext'
;;
uts4*)
library_names_spec='$libname$shrext'
;;
esac
sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
escaped_wl=`echo "X$wl" | sed -e 's/^X//' -e "$sed_quote_subst"`
shlibext=`echo "$shrext" | sed -e 's,^\.,,'`
escaped_libname_spec=`echo "X$libname_spec" | sed -e 's/^X//' -e "$sed_quote_subst"`
escaped_library_names_spec=`echo "X$library_names_spec" | sed -e 's/^X//' -e "$sed_quote_subst"`
escaped_hardcode_libdir_flag_spec=`echo "X$hardcode_libdir_flag_spec" | sed -e 's/^X//' -e "$sed_quote_subst"`
sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' <<EOF
LC_ALL=C sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' <<EOF
# How to pass a linker flag through the compiler.
wl="$escaped_wl"
@@ -530,6 +648,12 @@ libext="$libext"
# Shared library suffix (normally "so").
shlibext="$shlibext"
# Format of library name prefix.
libname_spec="$escaped_libname_spec"
# Library names that the linker finds when passed -lNAME.
library_names_spec="$escaped_library_names_spec"
# Flag to hardcode \$libdir into a binary during linking.
# This must work even if \$libdir does not exist.
hardcode_libdir_flag_spec="$escaped_hardcode_libdir_flag_spec"
Vendored
+4762 -6454
View File
File diff suppressed because it is too large Load Diff
+9 -4
View File
@@ -1,8 +1,8 @@
dnl w3m autoconf
dnl Process this file with autoconf to produce a configure script.
AC_INIT(w3m, 0.5.2, satodai@w3m.jp)
AC_INIT(w3m, 0.5.3, satodai@w3m.jp)
PACKAGE=w3m
VERSION=0.5.2
VERSION=0.5.3
AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE")
AC_DEFINE_UNQUOTED(VERSION, "$VERSION")
AC_SUBST(PACKAGE)
@@ -17,7 +17,7 @@ W3M_LANG=${LC_ALL:-$LANG}
dnl AM_INIT_AUTOMAKE(w3m, 0.4)
AC_CONFIG_HEADER(config.h)
dnl Checks for programs.
dnl AC_PROG_CXX
AC_PROG_CXX
AC_PROG_AWK
AC_PROG_CC
AC_PROG_CPP
@@ -107,6 +107,11 @@ AC_W3M_TERMLIB
AC_W3M_GC
AC_CHECK_LIB(z, zError, [AUXBIN_TARGETS="$AUXBIN_TARGETS inflate\$(EXT)"])
AC_CHECK_TYPE([socklen_t],
[AC_DEFINE(HAVE_SOCKLEN_T)], ,
[#include <sys/types.h>
#include <sys/socket.h>])
AC_DEFINE(AUXBIN_TARGETS, "$AUXBIN_TARGETS")
AC_SUBST(USE_BINMODE_STREAM)
@@ -179,7 +184,7 @@ scripts/multipart/Makefile scripts/multipart/multipart.cgi \
scripts/w3mman/Makefile scripts/w3mman/w3mman scripts/w3mman/w3mman.1 \
scripts/w3mman/w3mman2html.cgi \
libwc/Makefile \
w3mimg/Makefile w3mimg/fb/Makefile w3mimg/x11/Makefile \
w3mimg/Makefile w3mimg/fb/Makefile w3mimg/x11/Makefile w3mimg/win/Makefile \
w3mhelp-w3m_en.html w3mhelp-w3m_ja.html \
w3mhelp-lynx_en.html w3mhelp-lynx_ja.html])
+30 -3
View File
@@ -1,4 +1,4 @@
/* $Id: cookie.c,v 1.10 2006/12/10 10:53:22 inu Exp $ */
/* $Id: cookie.c,v 1.11 2010/07/26 11:38:53 htrb Exp $ */
/*
* References for version 0 cookie:
@@ -257,6 +257,30 @@ char *special_domain[] = {
".com", ".edu", ".gov", ".mil", ".net", ".org", ".int", NULL
};
int
check_avoid_wrong_number_of_dots_domain( Str domain )
{
TextListItem *tl;
int avoid_wrong_number_of_dots_domain = FALSE;
if (Cookie_avoid_wrong_number_of_dots_domains &&
Cookie_avoid_wrong_number_of_dots_domains->nitem > 0) {
for (tl = Cookie_avoid_wrong_number_of_dots_domains->first;
tl != NULL; tl = tl->next) {
if (domain_match(domain->ptr, tl->ptr)) {
avoid_wrong_number_of_dots_domain = TRUE;
break;
}
}
}
if (avoid_wrong_number_of_dots_domain == TRUE) {
return TRUE;
} else {
return FALSE;
}
}
int
add_cookie(ParsedURL *pu, Str name, Str value,
time_t expires, Str domain, Str path,
@@ -304,7 +328,9 @@ add_cookie(ParsedURL *pu, Str name, Str value,
domain->ptr + domain->length,
3);
if (n < 2) {
COOKIE_ERROR(COO_ESPECIAL);
if (! check_avoid_wrong_number_of_dots_domain(domain)) {
COOKIE_ERROR(COO_ESPECIAL);
}
}
else if (n == 2) {
char **sdomain;
@@ -315,8 +341,9 @@ add_cookie(ParsedURL *pu, Str name, Str value,
strcasecmp(*sdomain, &domain->ptr[offset]) == 0)
ok = 1;
}
if (!ok)
if (!ok && ! check_avoid_wrong_number_of_dots_domain(domain)) {
COOKIE_ERROR(COO_ESPECIAL);
}
}
}
else {
+2 -2
View File
@@ -1,4 +1,4 @@
/* $Id: display.c,v 1.70 2007/05/29 12:07:02 inu Exp $ */
/* $Id: display.c,v 1.71 2010/07/18 14:10:09 htrb Exp $ */
#include <signal.h>
#include "fm.h"
@@ -380,7 +380,7 @@ displayBuffer(Buffer *buf, int mode)
if (buf->height == 0)
buf->height = LASTLINE + 1;
if ((buf->width != INIT_BUFFER_WIDTH &&
((buf->type && !strcmp(buf->type, "text/html")) || FoldLine))
(is_html_type(buf->type) || FoldLine))
|| buf->need_reshape) {
buf->need_reshape = TRUE;
reshapeBuffer(buf);
+26
View File
@@ -0,0 +1,26 @@
/FAQ.html/1.9/Sat Apr 8 11:26:23 2006//
/HISTORY/1.1.1.1/Thu Nov 8 05:16:27 2001//
/README.SSL/1.4/Tue May 13 17:17:54 2003//
/README.cygwin/1.4/Sun Feb 23 16:00:17 2003//
/README.dict/1.4/Wed Apr 24 18:46:48 2002//
/README.func/1.22/Mon Sep 22 21:02:23 2003//
/README.keymap/1.1.1.1/Thu Nov 8 05:16:34 2001//
/README.mailcap/1.2/Fri Nov 9 04:59:18 2001//
/README.menu/1.2/Wed Nov 27 16:28:37 2002//
/README.migemo/1.2/Tue May 13 17:17:54 2003//
/README.mouse/1.1/Mon Nov 25 17:23:47 2002//
/README.pre_form/1.3/Mon May 12 16:24:53 2003//
/README.tab/1.1/Tue Nov 5 17:24:48 2002//
/STORY.html/1.3/Tue May 13 17:17:54 2003//
/keymap.lynx/1.4/Fri Dec 13 03:02:04 2002//
/menu.default/1.4/Fri Apr 7 15:22:07 2006//
/menu.submenu/1.3/Fri Apr 7 15:22:07 2006//
/keymap.default/1.8/Sat Jun 10 09:52:18 2006//
/MANUAL.html/1.9/Tue Jan 4 09:22:24 2011//
/README.img/1.7/Tue Jan 4 09:22:24 2011//
/README.m17n/1.3/Tue Jan 4 09:22:24 2011//
/README.passwd/1.1/Tue Aug 3 10:02:16 2010//
/w3m.1/1.7/Tue Jan 4 09:22:24 2011//
/README.cookie/1.4/Sat Jan 15 01:57:39 2011//
/README/1.26/Sat Jan 15 02:17:10 2011//
D
+1
View File
@@ -0,0 +1 @@
w3m/doc-jp
+1
View File
@@ -0,0 +1 @@
:ext:inu@w3m.cvs.sourceforge.net:/cvsroot/w3m
-2
View File
@@ -100,8 +100,6 @@ HTML
オプションの名前や値は,~/.w3m/config で指定するものと同じ.
<dt>-no-proxy
<dd>プロキシを利用しない.
<dt>-pauth user:pass
<dd>プロキシ認証用のユーザ名とパスワードを指定する.
<dt>-no-mouse
<dd>マウスを利用しない.
<dt>-cookie
+2 -2
View File
@@ -1,4 +1,4 @@
w3m: WWW wo Miru Tool version 0.5.2 May 31, 2007
w3m: WWW wo Miru Tool version 0.5.3 Jan 15, 2011
(C) Copyright by Akinori ITO
Hironori SAKAMOTO
Fumitoshi UKAI
@@ -102,7 +102,7 @@ Windows
w3m の著作権は,伊藤彰則に属しています.
(C) Copyright 1994-2002 by Akinori Ito
(C) Copyright 2002-2007 by Akinori Ito, Hironori Sakamoto, Fumitoshi Ukai
(C) Copyright 2002-2011 by Akinori Ito, Hironori Sakamoto, Fumitoshi Ukai
4. 配布条件
+6 -1
View File
@@ -54,4 +54,9 @@
└────────────────────────────────────┘
のように設定します.
・ ドメインに含まれる "." の数が 2 よりも小さいときは不正なクッキーと
見なされます (RFC 2109 4.3.2 参照) が
cookie_avoid_wrong_number_of_dots で指定されたドメインはこの制限を
受けなくなります。Option Setting Panel の "[wrong number of dots]
を無視するドメイン" で設定できます。
+10 -2
View File
@@ -11,8 +11,8 @@ w3m
機能
・X11 上の端末(xterm,kterm,rxvt,...)または Linux の framebuffer 上
画像(GIF,PNG,JPEG 等)を表示します。
・X11 上の端末(xterm,kterm,rxvt,...) Linux の framebuffer 上または
Windows 端末上に画像(GIF,PNG,JPEG 等)を表示します。
・img タグで指定されたインライン画像を表示できます。
width,height 属性に応じて必要な領域を確保してレンダリングします。
align 属性に対応しています。
@@ -127,6 +127,13 @@ w3mimgdisplay
端末の背景色。デフォルトは、X11 では自動設定、Linux framebuffer
では #000000 (黒)。
#RRGGBB で指定する場合は # をエスケープして設定してください。
-anim <n>
アニメーションで表示する最大フレーム数を指定。0 の時は制限なし。
負の時は最後からのフレーム数と見なします。デフォルトは 100。
-margin <n>
画像をクリアする領域のマージンを指定します。スクロールしたとき画
面にゴミが残ってしまう場合に指定してみてください。
デフォルトは 0。
例)
w3m -o 'imgdisplay=w3mimgdisplay -x 5 -bg "#cccccc"'
@@ -137,6 +144,7 @@ w3mimgdisplay
の適当なキーを連打してください。
・framebuffer 描画関係には、下記 URI のコードを利用しました。
http://www.sainet.or.jp/~yamasaki/download/fb-sample.tar.gz
・Windows では標準コンソール、Cygwin rxvt、PuTTYで動作確認しています。
更新記録
+9 -1
View File
@@ -225,12 +225,20 @@
strict_iso2022
厳密な ISO-2022-JP/KR/CN を使う(デフォルト ON)
OFF にすると ISO 2022 系の文字集合は全て表示/出力する。
east_asian_width
ある種のUnicode文字を全角にする(デフォルト OFF)
ON にすると East Asian Ambiguous 文字を全角とみなす。
gb18030_as_ucs
GB18030 の 4バイト文字を Unicode として扱う(デフォルト OFF)
simple_preserve_space
単純な空白の保存。
ON にすると日本語などでも文字間の空白が削除されない。
alt_entity
エンティティを ASCII の代替表現で表す(デフォルト ON)
OFF にすると ISO 8859-1 として扱う。
graphic_char
テーブルやメニューの枠に graphic 文字を使う(デフォルト OFF)
テーブルやメニューの枠に DEC 特殊文字文字を使う(デフォルト OFF)
OFF の場合 CJK の文字コード、UTF-8 では罫線を使う。
コード変換
+22
View File
@@ -0,0 +1,22 @@
HTTP $BG'>Z$N$"$k%Z!<%8$dG'>Z$N$"$k(B proxy $B$KBP$7$F!"(B
$B%f!<%6L>$H%Q%9%o!<%I$r@_Dj$7$F$*$/$3$H$,=PMh$^$9!#(B
passwd_file $B$G;XDj$7$?%U%!%$%k$K<!$N$h$&$K=q$$$F$*$1$P$=$l$r8+$^$9!#(B
machine $B%[%9%HL>(B
port $B%]!<%HHV9f(B
path $B%m!<%+%k%Q!<%H(B
realm realm$B$NJ8;zNs(B
login $B%f!<%6L>(B
passwd $B%Q%9%o!<%I(B
proxy
machine$B$G$O$8$^$C$F<!$N(Bmachine$B$^$G!#(B
netrc$B$.$_$G$9$,4JC1$K$9$k$?$a$K0l9T$E$D!#(B
port, path, realm $B$O>JN,2DG=(B
proxy $B$H=q$$$?>l9g$O(B proxy $B$N%Q%9%o!<%I$H$_$J$7$^$9!#(B
passwd_file $B$,B>$N%f!<%6!<$+$iFI$a$k>l9g7Y9p$,=P$^$9$,!"(BOS $B$N@)8B$J$I$G(B
$B%U%!%$%k$N%Q!<%_%C%7%g%s$rJQ$($i$l$J$$>l9g$O$3$N7Y9p$r(B
disable_secret_security_check $B$N@_Dj$GL58z$K$G$-$^$9!#(B
+3 -8
View File
@@ -112,9 +112,6 @@ Bookmark
.B \-no\-proxy
プロキシを利用しない.
.TP
.BI \-pauth\ user:pass
プロキシ認証用のユーザ名とパスワードを指定する.
.TP
.B \-no\-mouse
マウスを利用しない.
.TP
@@ -264,7 +261,7 @@ FORM
.B "ESC g"
画面下で行番号を入力し,そこで指定した行に移動します.
ここで
.$
.B $
を入力すると,最終行に移動します.
.TP
.B Z
@@ -337,7 +334,6 @@ URL
現在のリンク先を,外部ブラウザを使って表示します.
.B "2ESC M", "3ESC M"
で2番目と3番目のブラウザを使います.
.El
.SS ファイルとURL関係の操作
.TP
.B U
@@ -377,9 +373,9 @@ HTML
.TP
.B "ESC s"
HTMLのソースをファイルに保存します.
.v
.B v
でソースを表示して
.S
.B S
で保存するのとほぼ同じですが,
.B "ESC s"
で保存したファイルは漢字コードがオリジナルのままであるのに対して,
@@ -403,7 +399,6 @@ HTML
.TP
.B RET
現在選択しているバッファを表示します.
.El
.SS ブックマーク操作
.TP
.B "ESC b"
+21
View File
@@ -0,0 +1,21 @@
/HISTORY/1.2/Tue Jul 9 05:54:46 2002//
/README.cygwin/1.5/Sun Feb 23 16:00:16 2003//
/README.dict/1.4/Wed Apr 24 18:46:48 2002//
/README.func/1.21/Mon Sep 22 21:02:22 2003//
/README.mouse/1.1/Mon Nov 25 17:23:45 2002//
/README.pre_form/1.3/Mon May 12 16:24:53 2003//
/README.tab/1.1/Tue Nov 5 17:24:47 2002//
/STORY.html/1.3/Wed Nov 21 04:29:14 2001//
/keymap.lynx/1.4/Fri Dec 13 03:02:04 2002//
/menu.default/1.4/Fri Apr 7 15:05:49 2006//
/menu.submenu/1.3/Fri Apr 7 15:05:49 2006//
/keymap.default/1.8/Sat Jun 10 09:52:18 2006//
/FAQ.html/1.9/Tue Jan 4 09:22:24 2011//
/MANUAL.html/1.6/Tue Jan 4 09:22:24 2011//
/README.img/1.6/Tue Jan 4 09:22:24 2011//
/README.m17n/1.3/Tue Jan 4 09:22:24 2011//
/README.passwd/1.1/Tue Aug 3 10:02:16 2010//
/README.cookie/1.2/Sat Jan 15 01:57:39 2011//
/README/1.26/Sat Jan 15 02:17:25 2011//
/w3m.1/1.9/Sat Jan 15 06:37:24 2011//
D
+1
View File
@@ -0,0 +1 @@
w3m/doc
+1
View File
@@ -0,0 +1 @@
:ext:inu@w3m.cvs.sourceforge.net:/cvsroot/w3m
+1 -1
View File
@@ -54,7 +54,7 @@ Corrected by Tom Berger &lt;tom.be@gmx.net&gt;
<li><h3>w3m appends a URL to the former one despite of having cleared the line with Ctrl-u. What to do?</h3>
</ul>
<br>
<li><a href="other"><h2>Misc</a></h2>
<li><a href="#other"><h2>Misc</a></h2>
<ul>
<li><h3>What is w3m's configuration file?</h3>
<li><h3>What are these w3mxxxx files in my ~/.w3m directory for?</h3>
+1 -3
View File
@@ -103,8 +103,6 @@ same as that appears in ~/.w3m/config.
<dd>Process cookies.
<dt>-no-cookie
<dd>Don't process cookies.
<dt>-pauth username:password
<dd>Set username and password for (basic) proxy authentication.
<dt>-num
<dd>Show linenumber.
<dt>-dump
@@ -131,7 +129,7 @@ with -cols option.
<dt>-no-proxy
<dd>Don't use proxy server.
<dt>-no-graph
<dd>Don't use graphic character to draw frames.
<dd>Use ASCII character to draw frames.
<dt>-no-mouse
<dd>Don't activate mouse.
<dt>-config file
+2 -2
View File
@@ -1,4 +1,4 @@
w3m: WWW wo Miru Tool version 0.5.2 May 31, 2007
w3m: WWW wo Miru Tool version 0.5.3 Jan 15, 2011
(C) Copyright Akinori ITO
Hironori SAKAMOTO
Fumitoshi UKAI
@@ -90,7 +90,7 @@ Windows
3. Copyright
(C) Copyright 1994-2002 by Akinori Ito
(C) Copyright 2002-2007 by Akinori Ito, Hironori Sakamoto, Fumitoshi Ukai
(C) Copyright 2002-2011 by Akinori Ito, Hironori Sakamoto, Fumitoshi Ukai
4. License
+44
View File
@@ -0,0 +1,44 @@
cookie support of w3m
(2000/11/07) K. Okada
okabek@guitar.ocn.ne.jp
* Support of version 0 (http://www.netscape.com/newsref/std/cookie_spec.html)
and version 1 (http://www.ics.uci.edu/pub/ietf/http/rfc2109.txt,
http://www.ics.uci.edu/pub/ietf/http/draft-ietf-http-state-man-mec-12.txt)
cookie.
* If you wont to disable cookie support, run configure script with
--disable-cookie option.
* You can choose to use cookie or not on the Option Setting Panel or
-cookie and -no-cookie option.
* You can disable cookie on the Option Setting Panel. In this case
all cookies are rejected, however, cookies which accepted before
disable cookie are used.
* You can see list of accepted cookies with C-k. In this panel, you
can choose to use each cookie or not.
* You can specify domains accept or not accept cookies on the Option
Setting Panel. Domains are specified with following format.
domain-list = domains
| ""
domains = domain
| domain + "," + domains
domain = "." + domain-name ; match with domain name
| host-domain-name ; match with HDN
| ".local" ; match with all HDN except which include "."
| "." ; match with all
(HDN: host domain name)
¡¦ If the number of "." in domain name is lesser than 2, it is
assumed as invalid cookie (cf. RFC 2109 4.3.2), however, you can
use cookie_avoid_wrong_number_of_dots to avoid this
restriction. You can set this in "Domains to avoid [wrong number
of dots]" on the Option Setting Panel.
+15 -4
View File
@@ -12,7 +12,8 @@ Introduction
Support
* Display inline image (GIF,PNG,JPEG, etc.) on terminals
(xterm,rxvt, etc.) of X11 or Linux framebuffer device.
(xterm,rxvt, etc.) of X11, Linux framebuffer device or
terminals of Windows.
* Support inline image of <img> tag.
Support of attributes "width", "height", and "align".
* Direct display of image file which header is "Content-type: image/*"
@@ -42,7 +43,7 @@ Key functions
keymap C-c STOP_IMAGE
keyamp t SET_OPTION display_image=toggle
Comandline options
Commandline options
-ppc <pixel>
# of pixels per character. The default value is automatically
@@ -70,7 +71,7 @@ Option panel
ext_image_viewer
Use external image viewer, when a command VIEW_IMAGE or
view of image file which header is "Content-type: image/*".
The default is ON. If it is OFF, the image is directly displaied.
The default is ON. If it is OFF, the image is directly displayed.
image_scale
Scale of image (%). The default value is 100(%).
imgdisplay
@@ -122,6 +123,12 @@ Setting w3mimgdisplay
automatically detected.
The default value for Linux framebuffer device is #000000 (black).
When the color is specified as #RRGGBB, escape '#'.
-anim <n>
Maximum number of frames for animation. It means without limit
if the number is 0. Negative value count backward from the end
of the frames. The default value is 100.
-margin <n>
Margin of an area to clear an image. The default value is 0.
ex.)
w3m -o 'imgdisplay=w3mimgdisplay -x 5 -bg "#cccccc"'
@@ -134,6 +141,10 @@ Notice
Some code in w3mimg/fb/fb.c was originally written by Mr. Yamasaki.
http://www.sainet.or.jp/~yamasaki/download/fb-sample.tar.gz
On Windows, we check the behaver on standard console, Cygwin rxvt
and PuTTY.
Change log
2002/02/04
@@ -151,7 +162,7 @@ Change log
2002/01/28 w3m-0.2.4-img-2.0
* Based on w3m-0.2.4+cvs-1.265.
* pixel_per_char and pixel_per_line are automatically detected.
* The bckground color of terminal is automatically detected.
* The background color of terminal is automatically detected.
* The source code to display images is moved to image.c
2002/01/08 w3m-0.2.4-img-1.18
+9 -1
View File
@@ -197,12 +197,20 @@ Option pannel
Strict ISO-2022-JP/KR/CN. (Default: ON)
If it is OFF, all ISO 2022 base character set can be displayed
with ISO-2022-JP/KR/CN.
east_asian_width
Use double width for some Unicode characters. (Default: OFF)
If it is ON, treat East Asian Ambiguous characters as double width.
gb18030_as_ucs
Treat 4 bytes char. of GB18030 as Unicode. (Default: OFF)
simple_preserve_space
Simple Preserve space.
If it is ON, a space is remained in Japanese and some other languages.
alt_entity
Use alternate expression with ASCII for entities. (Default: ON)
If it is OFF, entities are treated as ISO 8859-1
graphic_char
Use graphic char for border of table and menu.
Use DEC special graphics for border of table and menu.
If it is OFF, ruled line is used with CJK charset or UTF-8.
Code conversion
+23
View File
@@ -0,0 +1,23 @@
You can save your passwords and usernames for a web page which require
HTTP certification or a proxy certification.
The configuration file is designated in "passwd_file" parameter. The
format of the configuration file is as follows
machine hostname
port port number
path local part
realm realm string
login username
passwd password
proxy
Each configuration is began with machine and ended before the next machine.
You can omit port, path and realm.
proxy means settings for proxy certification.
If passwd_file is readable from other users, w3m shows a warning for
that. If you can not set the permission for the passwd_file because
of the restriction of your OS, you can suppress the warning with the
setting of disable_secret_security_check.
+67 -7
View File
@@ -8,7 +8,6 @@ w3m \- a text based Web browser and pager
.B w3m
[options] [URL or filename]
.PP
Use "w3m -h" to display a complete list of current options.
.SH DESCRIPTION
.\" This defines appropriate quote strings for nroff and troff
.ds lq \&"
@@ -53,6 +52,12 @@ ignore backspace effect
.B -l line
# of preserved line (default 10000)
.TP
.B -I charset
document charset
.TP
.B -O charset
display/output charset
.TP
.B -B
load bookmark
.TP
@@ -71,6 +76,9 @@ visual startup mode
.B -M
monochrome display
.TP
.B -N
open URL of command line on each new tab
.TP
.B -F
automatically render frame
.TP
@@ -81,8 +89,11 @@ dump formatted page into stdout
specify column width (used with -dump)
.TP
.B -ppc count
specify the number of pixels per character (default 8.0)
Larger values will make tables narrower.
specify the number of pixels per character (4.0...32.0).
Larger values will make tables narrower. [default 8.0]
.TP
.B -ppl count
specify the number of pixels per line (4.0...64.0)
.TP
.B -dump_source
dump page source into stdout
@@ -111,6 +122,12 @@ show line number
.B -no-proxy
don't use proxy
.TP
.B -4
IPv4 only (-o dns_order=4)
.TP
.B -6
IPv6 only (-o dns_order=6)
.TP
.B -no-mouse
don't use mouse
.TP
@@ -120,8 +137,11 @@ use cookie.
.B -no-cookie
don't use cookie
.TP
.B -pauth user:pass
proxy authentication
.B -graph
use graphic character
.TP
.B -no-graph
don't use graphic character
.TP
.B -S
squeeze multiple blank lines
@@ -133,7 +153,7 @@ toggle wrap search mode
don't use termcap init/deinit
.TP
.B -title [=TERM]
set buffer name to termianl title string.
set buffer name to terminal title string.
If TERM is specified, use the TERM style title configuration.
.TP
.B -o opt=value
@@ -151,6 +171,9 @@ show usage
.B -version
show w3m version
.TP
.B -reqlog
write request logfile
.TP
.B -debug
DO NOT USE
.SH EXAMPLES
@@ -167,12 +190,49 @@ $ cat foo.html | w3m -T text/html
or
.br
$ cat foo.html | w3m -dump -T text/html >foo.txt
.SH FILES
.TP
.I ${HOME}/.w3m/config
configuration file
.TP
.I ${HOME}/.w3m/keymap
key binding configuration file
.\" .TP
.\" .I ${HOME}/.w3m/menu
.\" ???
.TP
.I ${HOME}/.w3m/mouse
mouse configuration file
.TP
.I ${HOME}/.w3m/cookie
cookie file
.TP
.I ${HOME}/.w3m/history
history file
.TP
.I ${HOME}/.w3m/passwd
passowrd and username file
.TP
.I ${HOME}/.w3m/pre_form
form parameters file
.TP
.I ${HOME}/.w3m/mailcap
external viewer configuration file
.TP
.I ${HOME}/.w3m/mime.types
MIME types file
.\" .TP
.\" .I ${HOME}/.w3m/urimethodmap
.\" ???
.SH NOTES
This is the
.I
w3m
0.2.1 Release.
0.5.3 Release.
.PP
Please see the MANUAL.html file distributed with w3m for
more detailed documentation.
Additional information about
.I
w3m
+1 -1
View File
@@ -1,4 +1,4 @@
/* $Id: entity.h,v 1.3 2001/11/24 02:01:26 ukai Exp $ */
/* $Id: entity.h,v 1.6 2011/01/04 11:03:20 htrb Exp $ */
#include "hash.h"
static HashItem_si MyHashItem[] = {
/* 0 */ {"otimes", 0x2297, &MyHashItem[1]},
+78 -20
View File
@@ -1,4 +1,4 @@
/* $Id: file.c,v 1.254 2007/05/23 15:06:05 inu Exp $ */
/* $Id: file.c,v 1.265 2010/12/15 10:50:24 htrb Exp $ */
#include "fm.h"
#include <sys/types.h>
#include "myctype.h"
@@ -262,6 +262,8 @@ is_text_type(char *type)
{
return (type == NULL || type[0] == '\0' ||
strncasecmp(type, "text/", 5) == 0 ||
(strncasecmp(type, "application/", 12) == 0 &&
strstr(type, "xhtml") != NULL) ||
strncasecmp(type, "message/", sizeof("message/") - 1) == 0);
}
@@ -272,6 +274,13 @@ is_plain_text_type(char *type)
(is_text_type(type) && !is_dump_text_type(type)));
}
int
is_html_type(char *type)
{
return (type && (strcasecmp(type, "text/html") == 0 ||
strcasecmp(type, "application/xhtml+xml") == 0));
}
static void
check_compression(char *path, URLFile *uf)
{
@@ -373,7 +382,7 @@ examineFile(char *path, URLFile *uf)
uf->guess_type = guessContentType(path);
if (uf->guess_type == NULL)
uf->guess_type = "text/plain";
if (strcasecmp(uf->guess_type, "text/html") == 0)
if (is_html_type(uf->guess_type))
return;
if ((fp = lessopen_stream(path))) {
UFclose(uf);
@@ -1209,7 +1218,7 @@ AuthBasicCred(struct http_auth *ha, Str uname, Str pw, ParsedURL *pu,
*/
static Str
digest_hex(char *p)
digest_hex(unsigned char *p)
{
char *h = "0123456789abcdef";
Str tmp = Strnew_size(MD5_DIGEST_LENGTH * 2 + 1);
@@ -1232,7 +1241,7 @@ AuthDigestCred(struct http_auth *ha, Str uname, Str pw, ParsedURL *pu,
HRequest *hr, FormList *request)
{
Str tmp, a1buf, a2buf, rd, s;
char md5[MD5_DIGEST_LENGTH + 1];
unsigned char md5[MD5_DIGEST_LENGTH + 1];
Str uri = HTTPrequestURI(pu, hr);
char nc[] = "00000001";
@@ -1244,7 +1253,7 @@ AuthDigestCred(struct http_auth *ha, Str uname, Str pw, ParsedURL *pu,
static union {
int r[4];
char s[sizeof(int) * 4];
unsigned char s[sizeof(int) * 4];
} cnonce_seed;
int qop_i = QOP_NONE;
@@ -1679,6 +1688,12 @@ checkRedirection(ParsedURL *pu)
return TRUE;
}
Str
getLinkNumberStr(int correction)
{
return Sprintf("[%d]", cur_hseq + correction);
}
/*
* loadGeneralFile: load file to buffer
*/
@@ -1911,6 +1926,7 @@ loadGeneralFile(char *path, ParsedURL *volatile current, char *referer,
UFclose(&f);
add_auth_cookie_flag = 1;
status = HTST_NORMAL;
add_auth_user_passwd(auth_pu, qstr_unquote(realm)->ptr, uname, pwd, 1);
goto load_doc;
}
}
@@ -2055,6 +2071,10 @@ loadGeneralFile(char *path, ParsedURL *volatile current, char *referer,
t = f.guess_type;
}
/* XXX: can we use guess_type to give the type to loadHTMLstream
* to support default utf8 encoding for XHTML here? */
f.guess_type = t;
page_loaded:
if (page) {
FILE *src;
@@ -2166,7 +2186,7 @@ loadGeneralFile(char *path, ParsedURL *volatile current, char *referer,
}
#endif
if (!strcasecmp(t, "text/html"))
if (is_html_type(t))
proc = loadHTMLBuffer;
else if (is_plain_text_type(t))
proc = loadBuffer;
@@ -2230,7 +2250,7 @@ loadGeneralFile(char *path, ParsedURL *volatile current, char *referer,
b->real_type = real_type;
if (b->currentURL.host == NULL && b->currentURL.file == NULL)
copyParsedURL(&b->currentURL, &pu);
if (!strcasecmp(t, "text/html"))
if (is_html_type(t))
b->type = "text/html";
else if (w3m_backend) {
Str s = Strnew_charp(t);
@@ -3211,6 +3231,8 @@ process_img(struct parsed_tag *tag, int width)
p = remove_space(p);
q = NULL;
parsedtag_get_value(tag, ATTR_ALT, &q);
if (!pseudoInlines && (q == NULL || (*q == '\0' && ignore_null_img_alt)))
return tmp;
t = q;
parsedtag_get_value(tag, ATTR_TITLE, &t);
w = -1;
@@ -3592,9 +3614,13 @@ process_input(struct parsed_tag *tag)
case FORM_INPUT_TEXT:
case FORM_INPUT_FILE:
case FORM_INPUT_CHECKBOX:
if (displayLinkNumber)
Strcat(tmp, getLinkNumberStr(0));
Strcat_char(tmp, '[');
break;
case FORM_INPUT_RADIO:
if (displayLinkNumber)
Strcat(tmp, getLinkNumberStr(0));
Strcat_char(tmp, '(');
}
Strcat(tmp, Sprintf("<input_alt hseq=\"%d\" fid=\"%d\" type=%s "
@@ -3635,6 +3661,8 @@ process_input(struct parsed_tag *tag)
case FORM_INPUT_SUBMIT:
case FORM_INPUT_BUTTON:
case FORM_INPUT_RESET:
if (displayLinkNumber)
Strcat(tmp, getLinkNumberStr(-1));
Strcat_charp(tmp, "[");
break;
}
@@ -3721,9 +3749,12 @@ process_select(struct parsed_tag *tag)
#ifdef MENU_SELECT
if (!select_is_multiple) {
select_str = Sprintf("<pre_int>[<input_alt hseq=\"%d\" "
select_str = Strnew_charp("<pre_int>");
if (displayLinkNumber)
Strcat(select_str, getLinkNumberStr(0));
Strcat(select_str, Sprintf("[<input_alt hseq=\"%d\" "
"fid=\"%d\" type=select name=\"%s\" selectnumber=%d",
cur_hseq++, cur_form_id, html_quote(p), n_select);
cur_hseq++, cur_form_id, html_quote(p), n_select));
Strcat_charp(select_str, ">");
if (n_select == max_select) {
max_select *= 2;
@@ -3881,6 +3912,8 @@ process_textarea(struct parsed_tag *tag, int width)
{
Str tmp = NULL;
char *p;
#define TEXTAREA_ATTR_COL_MAX 4096
#define TEXTAREA_ATTR_ROWS_MAX 4096
if (cur_form_id < 0) {
char *s = "<form_int method=internal action=none>";
@@ -3895,14 +3928,20 @@ process_textarea(struct parsed_tag *tag, int width)
cur_textarea_size = atoi(p);
if (p[strlen(p) - 1] == '%')
cur_textarea_size = width * cur_textarea_size / 100 - 2;
if (cur_textarea_size <= 0)
if (cur_textarea_size <= 0) {
cur_textarea_size = 20;
} else if (cur_textarea_size > TEXTAREA_ATTR_COL_MAX) {
cur_textarea_size = TEXTAREA_ATTR_COL_MAX;
}
}
cur_textarea_rows = 1;
if (parsedtag_get_value(tag, ATTR_ROWS, &p)) {
cur_textarea_rows = atoi(p);
if (cur_textarea_rows <= 0)
if (cur_textarea_rows <= 0) {
cur_textarea_rows = 1;
} else if (cur_textarea_rows > TEXTAREA_ATTR_ROWS_MAX) {
cur_textarea_rows = TEXTAREA_ATTR_ROWS_MAX;
}
}
cur_textarea_readonly = parsedtag_exists(tag, ATTR_READONLY);
if (n_textarea >= max_textarea) {
@@ -3975,13 +4014,18 @@ process_hr(struct parsed_tag *tag, int width, int indent_width)
Str tmp = Strnew_charp("<nobr>");
int w = 0;
int x = ALIGN_CENTER;
#define HR_ATTR_WIDTH_MAX 65535
if (width > indent_width)
width -= indent_width;
if (parsedtag_get_value(tag, ATTR_WIDTH, &w))
if (parsedtag_get_value(tag, ATTR_WIDTH, &w)) {
if (w > HR_ATTR_WIDTH_MAX) {
w = HR_ATTR_WIDTH_MAX;
}
w = REAL_WIDTH(w, width);
else
} else {
w = width;
}
parsedtag_get_value(tag, ATTR_ALIGN, &x);
switch (x) {
@@ -4771,6 +4815,8 @@ HTMLtagproc1(struct parsed_tag *tag, struct html_feed_environ *h_env)
obuf->anchor.hseq = cur_hseq;
tmp = process_anchor(tag, h_env->tagbuf->ptr);
push_tag(obuf, tmp->ptr, HTML_A);
if (displayLinkNumber)
HTMLlineproc1(getLinkNumberStr(-1)->ptr, h_env);
return 1;
}
return 0;
@@ -5229,6 +5275,7 @@ textlist_feed()
return NULL;
}
static int
ex_efct(int ex)
{
int effect = 0;
@@ -6336,7 +6383,7 @@ HTMLlineproc0(char *line, struct html_feed_environ *h_env, int internal)
is_hangul = wtf_is_hangul((wc_uchar *) str);
else
is_hangul = 0;
if (mode == PC_KANJI1 &&
if (!SimplePreserveSpace && mode == PC_KANJI1 &&
!is_hangul && !prev_is_hangul &&
obuf->pos > h_env->envs[h_env->envc].indent &&
Strlastchar(obuf->line) == ' ') {
@@ -6949,6 +6996,8 @@ loadHTMLstream(URLFile *f, Buffer *newBuf, FILE * src, int internal)
}
if (content_charset && UseContentCharset)
doc_charset = content_charset;
else if (f->guess_type && !strcasecmp(f->guess_type, "application/xhtml+xml"))
doc_charset = WC_CES_UTF_8;
meta_charset = 0;
#endif
#if 0
@@ -7383,8 +7432,7 @@ _saveBuffer(Buffer *buf, Line *l, FILE * f, int cont)
wc_ces charset = DisplayCharset ? DisplayCharset : WC_CES_US_ASCII;
#endif
if (buf->type && !strcasecmp(buf->type, "text/html"))
is_html = TRUE;
is_html = is_html_type(buf->type);
pager_next:
for (; l != NULL; l = l->next) {
@@ -7541,7 +7589,7 @@ openGeneralPagerBuffer(InputStream stream)
t = DefaultType;
DefaultType = NULL;
}
if (!strcasecmp(t, "text/html")) {
if (is_html_type(t)) {
buf = loadHTMLBuffer(&uf, t_buf);
buf->type = "text/html";
}
@@ -7749,7 +7797,13 @@ save2tmp(URLFile uf, char *tmpf)
{
Str buf = Strnew_size(SAVE_BUF_SIZE);
while (UFread(&uf, buf, SAVE_BUF_SIZE)) {
Strfputs(buf, ff);
if (Strfputs(buf, ff) != buf->length) {
bcopy(env_bak, AbortLoading, sizeof(JMP_BUF));
TRAP_OFF;
fclose(ff);
current_content_length = 0;
return -2;
}
linelen += buf->length;
showProgress(&linelen, &trbyte);
}
@@ -8078,16 +8132,20 @@ doFileSave(URLFile uf, char *defstr)
flush_tty();
pid = fork();
if (!pid) {
int err;
if ((uf.content_encoding != CMP_NOCOMPRESS) && AutoUncompress) {
uncompress_stream(&uf, &tmpf);
if (tmpf)
unlink(tmpf);
}
setup_child(FALSE, 0, UFfileno(&uf));
if (!save2tmp(uf, p) && PreserveTimestamp && uf.modtime != -1)
err = save2tmp(uf, p);
if (err == 0 && PreserveTimestamp && uf.modtime != -1)
setModtime(p, uf.modtime);
UFclose(&uf);
unlink(lock);
if (err != 0)
exit(-err);
exit(0);
}
addDownloadList(pid, uf.url, p, lock, current_content_length);
@@ -8351,7 +8409,7 @@ reloadBuffer(Buffer *buf)
buf->hmarklist->nmark = 0;
if (buf->imarklist)
buf->imarklist->nmark = 0;
if (!strcasecmp(buf->type, "text/html"))
if (is_html_type(buf->type))
loadHTMLBuffer(&uf, buf);
else
loadBuffer(&uf, buf);
+21 -5
View File
@@ -1,4 +1,4 @@
/* $Id: fm.h,v 1.138 2007/05/30 04:47:24 inu Exp $ */
/* $Id: fm.h,v 1.149 2010/08/20 09:47:09 htrb Exp $ */
/*
* w3m: WWW wo Miru utility
*
@@ -101,6 +101,9 @@ void bzero(void *, int);
#define LINELEN 256 /* Initial line length */
#define PAGER_MAX_LINE 10000 /* Maximum line kept as pager */
#define MAXIMUM_COLS 1024
#define DEFAULT_COLS 80
#ifdef USE_IMAGE
#define MAX_IMAGE 1000
#define MAX_IMAGE_SIZE 2048
@@ -517,7 +520,8 @@ typedef struct _DownloadList {
char *lock;
clen_t size;
time_t time;
int ok;
int running;
int err;
struct _DownloadList *next;
struct _DownloadList *prev;
} DownloadList;
@@ -931,6 +935,7 @@ global int label_topline init(FALSE);
global int nextpage_topline init(FALSE);
global char *displayTitleTerm init(NULL);
global int displayLink init(FALSE);
global int displayLinkNumber init(FALSE);
global int displayLineInfo init(FALSE);
global int DecodeURL init(FALSE);
global int retryAsHttp init(TRUE);
@@ -947,12 +952,19 @@ global int image_map_list init(TRUE);
#else
global int displayImage init(FALSE); /* XXX: emacs-w3m use display_image=off */
#endif
global int pseudoInlines init(TRUE);
global char *Editor init(DEF_EDITOR);
#ifdef USE_W3MMAILER
global char *Mailer init(NULL);
#else
global char *Mailer init(DEF_MAILER);
#endif
#ifdef USE_W3MMAILER
#define MAILTO_OPTIONS_USE_W3MMAILER 0
#endif
#define MAILTO_OPTIONS_IGNORE 1
#define MAILTO_OPTIONS_USE_MAILTO_URL 2
global int MailtoOptions init(MAILTO_OPTIONS_IGNORE);
global char *ExtBrowser init(DEF_EXT_BROWSER);
global char *ExtBrowser2 init(NULL);
global char *ExtBrowser3 init(NULL);
@@ -976,8 +988,6 @@ global int IgnoreCase init(TRUE);
global int WrapSearch init(FALSE);
global int squeezeBlankLine init(FALSE);
global char *BookmarkFile init(NULL);
global char *pauth init(NULL);
global Str proxy_auth_cookie init(NULL);
global int UseExternalDirBuffer init(TRUE);
global char *DirBufferCommand init("file:///$LIB/dirlist" CGI_EXTENSION);
#ifdef USE_DICT
@@ -1038,6 +1048,7 @@ global char ExtHalfdump init(FALSE);
global char FollowLocale init(TRUE);
global char UseContentCharset init(TRUE);
global char SearchConv init(TRUE);
global char SimplePreserveSpace init(FALSE);
#define Str_conv_from_system(x) wc_Str_conv((x), SystemCharset, InnerCharset)
#define Str_conv_to_system(x) wc_Str_conv_strict((x), InnerCharset, SystemCharset)
#define Str_conv_to_halfdump(x) (ExtHalfdump ? wc_Str_conv((x), InnerCharset, DisplayCharset) : (x))
@@ -1055,7 +1066,10 @@ global char SearchConv init(TRUE);
#define wc_Str_conv_strict(x,charset0,charset1) (x)
#endif
global char UseAltEntity init(TRUE);
global char UseGraphicChar init(FALSE);
#define GRAPHIC_CHAR_ASCII 2
#define GRAPHIC_CHAR_DEC 1
#define GRAPHIC_CHAR_CHARSET 0
global char UseGraphicChar init(GRAPHIC_CHAR_CHARSET);
extern char *graph_symbol[];
extern char *graph2_symbol[];
extern int symbol_width;
@@ -1108,8 +1122,10 @@ global int accept_cookie init(FALSE);
global int accept_bad_cookie init(ACCEPT_BAD_COOKIE_DISCARD);
global char *cookie_reject_domains init(NULL);
global char *cookie_accept_domains init(NULL);
global char *cookie_avoid_wrong_number_of_dots init(NULL);
global TextList *Cookie_reject_domains;
global TextList *Cookie_accept_domains;
global TextList *Cookie_avoid_wrong_number_of_dots_domains;
#endif /* USE_COOKIE */
#ifdef USE_IMAGE
+2 -1
View File
@@ -1,4 +1,4 @@
/* $Id: form.c,v 1.34 2004/02/05 17:23:07 ukai Exp $ */
/* $Id: form.c,v 1.35 2010/07/18 13:48:48 htrb Exp $ */
/*
* HTML forms
*/
@@ -403,6 +403,7 @@ form_update_line(Line *line, char **str, int spos, int epos, int width,
line->lineBuf = buf;
line->propBuf = prop;
line->len = len;
line->size = len;
return pos;
}
+27 -4
View File
@@ -1,4 +1,4 @@
/* $Id: ftp.c,v 1.39 2007/05/31 01:19:50 inu Exp $ */
/* $Id: ftp.c,v 1.42 2010/12/15 10:50:24 htrb Exp $ */
#include <stdio.h>
#ifndef __MINGW32_VERSION
#include <pwd.h>
@@ -25,6 +25,10 @@
#include <winsock.h>
#endif /* __MINGW32_VERSION */
#ifndef HAVE_SOCKLEN_T
typedef int socklen_t;
#endif
typedef struct _FTP {
char *host;
int port;
@@ -127,12 +131,30 @@ ftp_login(FTP ftp)
size_t n = strlen(ftp->pass);
if (n > 0 && ftp->pass[n - 1] == '@') {
#ifdef INET6
struct sockaddr_storage sockname;
#else
struct sockaddr_in sockname;
int socknamelen = sizeof(sockname);
#endif
socklen_t socknamelen = sizeof(sockname);
if (!getsockname(sock, (struct sockaddr *)&sockname, &socknamelen)) {
struct hostent *sockent;
Str tmp = Strnew_charp(ftp->pass);
#ifdef INET6
char hostbuf[NI_MAXHOST];
if (getnameinfo((struct sockaddr *)&sockname, socknamelen,
hostbuf, sizeof hostbuf, NULL, 0, NI_NAMEREQD)
== 0)
Strcat_charp(tmp, hostbuf);
else if (getnameinfo((struct sockaddr *)&sockname, socknamelen,
hostbuf, sizeof hostbuf, NULL, 0, NI_NUMERICHOST)
== 0)
Strcat_m_charp(tmp, "[", hostbuf, "]", NULL);
else
Strcat_charp(tmp, "unknown");
#else
if ((sockent = gethostbyaddr((char *)&sockname.sin_addr,
sizeof(sockname.sin_addr),
@@ -141,7 +163,7 @@ ftp_login(FTP ftp)
else
Strcat_m_charp(tmp, "[", inet_ntoa(sockname.sin_addr),
"]", NULL);
#endif
ftp->pass = tmp->ptr;
}
}
@@ -192,7 +214,8 @@ ftp_pasv(FTP ftp)
int family;
#ifdef INET6
struct sockaddr_storage sockaddr;
int sockaddrlen, port;
int port;
socklen_t sockaddrlen;
unsigned char d1, d2, d3, d4;
char abuf[INET6_ADDRSTRLEN];
#endif
+5
View File
@@ -0,0 +1,5 @@
D/Mac_files////
D/cord////
D/doc////
D/include////
D/tests////
+1
View File
@@ -0,0 +1 @@
w3m/gc
+1
View File
@@ -0,0 +1 @@
:ext:inu@w3m.cvs.sourceforge.net:/cvsroot/w3m
+1
View File
@@ -0,0 +1 @@
D
+1
View File
@@ -0,0 +1 @@
w3m/gc/Mac_files
+1
View File
@@ -0,0 +1 @@
:ext:inu@w3m.cvs.sourceforge.net:/cvsroot/w3m
+1
View File
@@ -0,0 +1 @@
D/private////
+1
View File
@@ -0,0 +1 @@
w3m/gc/cord
+1
View File
@@ -0,0 +1 @@
:ext:inu@w3m.cvs.sourceforge.net:/cvsroot/w3m
+1
View File
@@ -0,0 +1 @@
D
+1
View File
@@ -0,0 +1 @@
w3m/gc/cord/private
+1
View File
@@ -0,0 +1 @@
:ext:inu@w3m.cvs.sourceforge.net:/cvsroot/w3m
+1
View File
@@ -0,0 +1 @@
D
+1
View File
@@ -0,0 +1 @@
w3m/gc/doc
+1
View File
@@ -0,0 +1 @@
:ext:inu@w3m.cvs.sourceforge.net:/cvsroot/w3m
+1
View File
@@ -0,0 +1 @@
D/private////
+1
View File
@@ -0,0 +1 @@
w3m/gc/include
+1
View File
@@ -0,0 +1 @@
:ext:inu@w3m.cvs.sourceforge.net:/cvsroot/w3m
+1
View File
@@ -0,0 +1 @@
D
+1
View File
@@ -0,0 +1 @@
w3m/gc/include/private
+1
View File
@@ -0,0 +1 @@
:ext:inu@w3m.cvs.sourceforge.net:/cvsroot/w3m
+1
View File
@@ -0,0 +1 @@
D
+1
View File
@@ -0,0 +1 @@
w3m/gc/tests
+1
View File
@@ -0,0 +1 @@
:ext:inu@w3m.cvs.sourceforge.net:/cvsroot/w3m
+104 -62
View File
@@ -1,4 +1,4 @@
/* $Id: html.c,v 1.30 2007/04/19 12:00:38 inu Exp $ */
/* $Id: html.c,v 1.32 2010/08/14 01:29:40 htrb Exp $ */
#include "html.h"
/* Define HTML Tag Infomation Table */
@@ -127,15 +127,15 @@ TagInfo TagMAP[MAX_HTMLTAG] = {
{"h", ALST_P, MAXA_P, 0}, /* 3 HTML_H */
{"/h", NULL, 0, TFLG_END}, /* 4 HTML_N_H */
{"p", ALST_P, MAXA_P, 0}, /* 5 HTML_P */
{"br", NULL, 0, 0}, /* 6 HTML_BR */
{"b", NULL, 0, 0}, /* 7 HTML_B */
{"br", ALST_NOP, MAXA_NOP, 0}, /* 6 HTML_BR */
{"b", ALST_NOP, MAXA_NOP, 0}, /* 7 HTML_B */
{"/b", NULL, 0, TFLG_END}, /* 8 HTML_N_B */
{"ul", ALST_UL, MAXA_UL, 0}, /* 9 HTML_UL */
{"/ul", NULL, 0, TFLG_END}, /* 10 HTML_N_UL */
{"li", ALST_LI, MAXA_LI, 0}, /* 11 HTML_LI */
{"ol", ALST_UL, MAXA_UL, 0}, /* 12 HTML_OL */
{"/ol", NULL, 0, TFLG_END}, /* 13 HTML_N_OL */
{"title", NULL, 0, 0}, /* 14 HTML_TITLE */
{"title", ALST_NOP, MAXA_NOP, 0}, /* 14 HTML_TITLE */
{"/title", NULL, 0, TFLG_END}, /* 15 HTML_N_TITLE */
{"hr", ALST_HR, MAXA_HR, 0}, /* 16 HTML_HR */
{"dl", ALST_DL, MAXA_DL, 0}, /* 17 HTML_DL */
@@ -147,11 +147,11 @@ TagInfo TagMAP[MAX_HTMLTAG] = {
{"blockquote", ALST_NOP, MAXA_NOP, 0}, /* 23 HTML_BLQ */
{"/blockquote", NULL, 0, TFLG_END}, /* 24 HTML_N_BLQ */
{"img", ALST_IMG, MAXA_IMG, 0}, /* 25 HTML_IMG */
{"listing", NULL, 0, 0}, /* 26 HTML_LISTING */
{"listing", ALST_NOP, MAXA_NOP, 0}, /* 26 HTML_LISTING */
{"/listing", NULL, 0, TFLG_END}, /* 27 HTML_N_LISTING */
{"xmp", NULL, 0, 0}, /* 28 HTML_XMP */
{"xmp", ALST_NOP, MAXA_NOP, 0}, /* 28 HTML_XMP */
{"/xmp", NULL, 0, TFLG_END}, /* 29 HTML_N_XMP */
{"plaintext", NULL, 0, 0}, /* 30 HTML_PLAINTEXT */
{"plaintext", ALST_NOP, MAXA_NOP, 0}, /* 30 HTML_PLAINTEXT */
{"table", ALST_TABLE, MAXA_TABLE, 0}, /* 31 HTML_TABLE */
{"/table", NULL, 0, TFLG_END}, /* 32 HTML_N_TABLE */
{"meta", ALST_META, MAXA_META, 0}, /* 33 HTML_META */
@@ -159,9 +159,9 @@ TagInfo TagMAP[MAX_HTMLTAG] = {
{"frame", ALST_FRAME, MAXA_FRAME, 0}, /* 35 HTML_FRAME */
{"frameset", ALST_FRAMESET, MAXA_FRAMESET, 0}, /* 36 HTML_FRAMESET */
{"/frameset", NULL, 0, TFLG_END}, /* 37 HTML_N_FRAMESET */
{"center", NULL, 0, 0}, /* 38 HTML_CENTER */
{"center", ALST_NOP, MAXA_NOP, 0}, /* 38 HTML_CENTER */
{"/center", NULL, 0, TFLG_END}, /* 39 HTML_N_CENTER */
{"font", NULL, 0, 0}, /* 40 HTML_FONT */
{"font", ALST_NOP, MAXA_NOP, 0}, /* 40 HTML_FONT */
{"/font", NULL, 0, TFLG_END}, /* 41 HTML_N_FONT */
{"form", ALST_FORM, MAXA_FORM, 0}, /* 42 HTML_FORM */
{"/form", NULL, 0, TFLG_END}, /* 43 HTML_N_FORM */
@@ -171,7 +171,7 @@ TagInfo TagMAP[MAX_HTMLTAG] = {
{"select", ALST_SELECT, MAXA_SELECT, 0}, /* 47 HTML_SELECT */
{"/select", NULL, 0, TFLG_END}, /* 48 HTML_N_SELECT */
{"option", ALST_OPTION, MAXA_OPTION, 0}, /* 49 HTML_OPTION */
{"nobr", NULL, 0, 0}, /* 50 HTML_NOBR */
{"nobr", ALST_NOP, MAXA_NOP, 0}, /* 50 HTML_NOBR */
{"/nobr", NULL, 0, TFLG_END}, /* 51 HTML_N_NOBR */
{"div", ALST_P, MAXA_P, 0}, /* 52 HTML_DIV */
{"/div", NULL, 0, TFLG_END}, /* 53 HTML_N_DIV */
@@ -179,19 +179,19 @@ TagInfo TagMAP[MAX_HTMLTAG] = {
{"map", ALST_MAP, MAXA_MAP, 0}, /* 55 HTML_MAP */
{"/map", NULL, 0, TFLG_END}, /* 56 HTML_N_MAP */
{"area", ALST_AREA, MAXA_AREA, 0}, /* 57 HTML_AREA */
{"script", NULL, 0, 0}, /* 58 HTML_SCRIPT */
{"script", ALST_NOP, MAXA_NOP, 0}, /* 58 HTML_SCRIPT */
{"/script", NULL, 0, TFLG_END}, /* 59 HTML_N_SCRIPT */
{"base", ALST_BASE, MAXA_BASE, 0}, /* 60 HTML_BASE */
{"del", NULL, 0, 0}, /* 61 HTML_DEL */
{"del", ALST_NOP, MAXA_NOP, 0}, /* 61 HTML_DEL */
{"/del", NULL, 0, TFLG_END}, /* 62 HTML_N_DEL */
{"ins", NULL, 0, 0}, /* 63 HTML_INS */
{"ins", ALST_NOP, MAXA_NOP, 0}, /* 63 HTML_INS */
{"/ins", NULL, 0, TFLG_END}, /* 64 HTML_N_INS */
{"u", NULL, 0, 0}, /* 65 HTML_U */
{"u", ALST_NOP, MAXA_NOP, 0}, /* 65 HTML_U */
{"/u", NULL, 0, TFLG_END}, /* 66 HTML_N_U */
{"style", NULL, 0, 0}, /* 67 HTML_STYLE */
{"style", ALST_NOP, MAXA_NOP, 0}, /* 67 HTML_STYLE */
{"/style", NULL, 0, TFLG_END}, /* 68 HTML_N_STYLE */
{"wbr", NULL, 0, 0}, /* 69 HTML_WBR */
{"em", NULL, 0, 0}, /* 70 HTML_EM */
{"wbr", ALST_NOP, MAXA_NOP, 0}, /* 69 HTML_WBR */
{"em", ALST_NOP, MAXA_NOP, 0}, /* 70 HTML_EM */
{"/em", NULL, 0, TFLG_END}, /* 71 HTML_N_EM */
{"body", ALST_BODY, MAXA_BODY, 0}, /* 72 HTML_BODY */
{"/body", NULL, 0, TFLG_END}, /* 73 HTML_N_BODY */
@@ -203,72 +203,114 @@ TagInfo TagMAP[MAX_HTMLTAG] = {
{"/caption", NULL, 0, TFLG_END}, /* 79 HTML_N_CAPTION */
{"th", ALST_TD, MAXA_TD, 0}, /* 80 HTML_TH */
{"/th", NULL, 0, TFLG_END}, /* 81 HTML_N_TH */
{"thead", NULL, 0, 0}, /* 82 HTML_THEAD */
{"thead", ALST_NOP, MAXA_NOP, 0}, /* 82 HTML_THEAD */
{"/thead", NULL, 0, TFLG_END}, /* 83 HTML_N_THEAD */
{"tbody", NULL, 0, 0}, /* 84 HTML_TBODY */
{"tbody", ALST_NOP, MAXA_NOP, 0}, /* 84 HTML_TBODY */
{"/tbody", NULL, 0, TFLG_END}, /* 85 HTML_N_TBODY */
{"tfoot", NULL, 0, 0}, /* 86 HTML_TFOOT */
{"tfoot", ALST_NOP, MAXA_NOP, 0}, /* 86 HTML_TFOOT */
{"/tfoot", NULL, 0, TFLG_END}, /* 87 HTML_N_TFOOT */
{"colgroup", NULL, 0, 0}, /* 88 HTML_COLGROUP */
{"colgroup", ALST_NOP, MAXA_NOP, 0}, /* 88 HTML_COLGROUP */
{"/colgroup", NULL, 0, TFLG_END}, /* 89 HTML_N_COLGROUP */
{"col", NULL, 0, 0}, /* 90 HTML_COL */
{"col", ALST_NOP, MAXA_NOP, 0}, /* 90 HTML_COL */
{"bgsound", ALST_BGSOUND, MAX_BGSOUND, 0}, /* 91 HTML_BGSOUND */
{"applet", ALST_APPLET, MAX_APPLET, 0}, /* 92 HTML_APPLET */
{"embed", ALST_EMBED, MAX_EMBED, 0}, /* 93 HTML_EMBED */
{"/option", NULL, 0, TFLG_END}, /* 94 HTML_N_OPTION */
{"head", NULL, 0, 0}, /* 95 HTML_HEAD */
{"head", ALST_NOP, MAXA_NOP, 0}, /* 95 HTML_HEAD */
{"/head", NULL, 0, TFLG_END}, /* 96 HTML_N_HEAD */
{"doctype", NULL, 0, 0}, /* 97 HTML_DOCTYPE */
{"doctype", ALST_NOP, MAXA_NOP, 0}, /* 97 HTML_DOCTYPE */
{"noframes", ALST_NOFRAMES, MAXA_NOFRAMES, 0}, /* 98 HTML_NOFRAMES */
{"/noframes", NULL, 0, TFLG_END}, /* 99 HTML_N_NOFRAMES */
{"sup", NULL, 0, 0}, /* 100 HTML_SUP */
{"sup", ALST_NOP, MAXA_NOP, 0}, /* 100 HTML_SUP */
{"/sup", NULL, 0, 0}, /* 101 HTML_N_SUP */
{"sub", NULL, 0, 0}, /* 102 HTML_SUB */
/* FIXME: Should /sup and /sub have TFLG_END ? */
{"sub", ALST_NOP, MAXA_NOP, 0}, /* 102 HTML_SUB */
{"/sub", NULL, 0, 0}, /* 103 HTML_N_SUB */
{"link", ALST_LINK, MAXA_LINK, 0}, /* 104 HTML_LINK */
{"s", NULL, 0, 0}, /* 105 HTML_S */
{"s", ALST_NOP, MAXA_NOP, 0}, /* 105 HTML_S */
{"/s", NULL, 0, TFLG_END}, /* 106 HTML_N_S */
{"q", NULL, 0, 0}, /* 107 HTML_Q */
{"q", ALST_NOP, MAXA_NOP, 0}, /* 107 HTML_Q */
{"/q", NULL, 0, TFLG_END}, /* 108 HTML_N_Q */
{"i", NULL, 0, 0}, /* 109 HTML_I */
{"i", ALST_NOP, MAXA_NOP, 0}, /* 109 HTML_I */
{"/i", NULL, 0, TFLG_END}, /* 110 HTML_N_I */
{"strong", NULL, 0, 0}, /* 111 HTML_STRONG */
{"strong", ALST_NOP, MAXA_NOP, 0}, /* 111 HTML_STRONG */
{"/strong", NULL, 0, TFLG_END}, /* 112 HTML_N_STRONG */
{NULL, NULL, 0, 0}, /* 113 Undefined */
{NULL, NULL, 0, 0}, /* 114 Undefined */
{NULL, NULL, 0, 0}, /* 115 Undefined */
{NULL, NULL, 0, 0}, /* 116 Undefined */
{NULL, NULL, 0, 0}, /* 117 Undefined */
{NULL, NULL, 0, 0}, /* 118 Undefined */
{NULL, NULL, 0, 0}, /* 119 Undefined */
{"span", ALST_NOP, MAXA_NOP, 0}, /* 113 HTML_SPAN */
{"/span", NULL, 0, TFLG_END}, /* 114 HTML_N_SPAN */
{"abbr", ALST_NOP, MAXA_NOP, 0}, /* 115 HTML_ABBR */
{"/abbr", NULL, 0, TFLG_END}, /* 116 HTML_N_ABBR */
{"acronym", ALST_NOP, MAXA_NOP, 0}, /* 117 HTML_ACRONYM */
{"/acronym", NULL, 0, TFLG_END}, /* 118 HTML_N_ACRONYM */
{"basefont", ALST_NOP, MAXA_NOP, 0}, /* 119 HTML_BASEFONT */
{"bdo", ALST_NOP, MAXA_NOP, 0}, /* 120 HTML_BDO */
{"/bdo", NULL, 0, TFLG_END}, /* 121 HTML_N_BDO */
{"big", ALST_NOP, MAXA_NOP, 0}, /* 122 HTML_BIG */
{"/big", NULL, 0, TFLG_END}, /* 123 HTML_N_BIG */
{"button", ALST_NOP, MAXA_NOP, 0}, /* 124 HTML_BUTTON */
{"fieldset", ALST_NOP, MAXA_NOP, 0}, /* 125 HTML_FIELDSET */
{"/fieldset", NULL, 0, TFLG_END}, /* 126 HTML_N_FIELDSET */
{"iframe", ALST_NOP, MAXA_NOP, 0}, /* 127 HTML_IFRAME */
{"label", ALST_NOP, MAXA_NOP, 0}, /* 128 HTML_LABEL */
{"/label", NULL, 0, TFLG_END}, /* 129 HTML_N_LABEL */
{"legend", ALST_NOP, MAXA_NOP, 0}, /* 130 HTML_LEGEND */
{"/legend", NULL, 0, TFLG_END}, /* 131 HTML_N_LEGEND */
{"noscript", ALST_NOP, MAXA_NOP, 0}, /* 132 HTML_NOSCRIPT */
{"/noscript", NULL, 0, TFLG_END}, /* 133 HTML_N_NOSCRIPT */
{"object", ALST_NOP, MAXA_NOP, 0}, /* 134 HTML_OBJECT */
{"optgroup", ALST_NOP, MAXA_NOP, 0}, /* 135 HTML_OPTGROUP */
{"/optgroup", NULL, 0, TFLG_END}, /* 136 HTML_N_OPTGROUP */
{"param", ALST_NOP, MAXA_NOP, 0}, /* 137 HTML_PARAM */
{"small", ALST_NOP, MAXA_NOP, 0}, /* 138 HTML_SMALL */
{"/small", NULL, 0, TFLG_END}, /* 139 HTML_N_SMALL */
{NULL, NULL, 0, 0}, /* 140 Undefined */
{NULL, NULL, 0, 0}, /* 141 Undefined */
{NULL, NULL, 0, 0}, /* 142 Undefined */
{NULL, NULL, 0, 0}, /* 143 Undefined */
{NULL, NULL, 0, 0}, /* 144 Undefined */
{NULL, NULL, 0, 0}, /* 145 Undefined */
{NULL, NULL, 0, 0}, /* 146 Undefined */
{NULL, NULL, 0, 0}, /* 147 Undefined */
{NULL, NULL, 0, 0}, /* 148 Undefined */
{NULL, NULL, 0, 0}, /* 149 Undefined */
{NULL, NULL, 0, 0}, /* 150 Undefined */
{NULL, NULL, 0, 0}, /* 151 Undefined */
{NULL, NULL, 0, 0}, /* 152 Undefined */
{NULL, NULL, 0, 0}, /* 153 Undefined */
{NULL, NULL, 0, 0}, /* 154 Undefined */
{NULL, NULL, 0, 0}, /* 155 Undefined */
{NULL, NULL, 0, 0}, /* 156 Undefined */
{NULL, NULL, 0, 0}, /* 157 Undefined */
{NULL, NULL, 0, 0}, /* 158 Undefined */
{NULL, NULL, 0, 0}, /* 159 Undefined */
/* pseudo tag */
{"select_int", ALST_SELECT_INT, MAXA_SELECT_INT, TFLG_INT}, /* 120 HTML_SELECT_INT */
{"/select_int", NULL, 0, TFLG_INT | TFLG_END}, /* 121 HTML_N_SELECT_INT */
{"option_int", ALST_OPTION, MAXA_OPTION, TFLG_INT}, /* 122 HTML_OPTION_INT */
{"textarea_int", ALST_TEXTAREA_INT, MAXA_TEXTAREA_INT, TFLG_INT}, /* 123 HTML_TEXTAREA_INT */
{"/textarea_int", NULL, 0, TFLG_INT | TFLG_END}, /* 124 HTML_N_TEXTAREA_INT */
{"table_alt", ALST_TABLE_ALT, MAXA_TABLE_ALT, TFLG_INT}, /* 125 HTML_TABLE_ALT */
{"symbol", ALST_SYMBOL, MAXA_SYMBOL, TFLG_INT}, /* 126 HTML_SYMBOL */
{"/symbol", NULL, 0, TFLG_INT | TFLG_END}, /* 127 HTML_N_SYMBOL */
{"pre_int", NULL, 0, TFLG_INT}, /* 128 HTML_PRE_INT */
{"/pre_int", NULL, 0, TFLG_INT | TFLG_END}, /* 129 HTML_N_PRE_INT */
{"title_alt", ALST_TITLE_ALT, MAXA_TITLE_ALT, TFLG_INT}, /* 130 HTML_TITLE_ALT */
{"form_int", ALST_FORM_INT, MAXA_FORM_INT, TFLG_INT}, /* 131 HTML_FORM_INT */
{"/form_int", NULL, 0, TFLG_INT | TFLG_END}, /* 132 HTML_N_FORM_INT */
{"dl_compact", NULL, 0, TFLG_INT}, /* 133 HTML_DL_COMPACT */
{"input_alt", ALST_INPUT_ALT, MAXA_INPUT_ALT, TFLG_INT}, /* 134 HTML_INPUT_ALT */
{"/input_alt", NULL, 0, TFLG_INT | TFLG_END}, /* 135 HTML_N_INPUT_ALT */
{"img_alt", ALST_IMG_ALT, MAXA_IMG_ALT, TFLG_INT}, /* 136 HTML_IMG_ALT */
{"/img_alt", NULL, 0, TFLG_INT | TFLG_END}, /* 137 HTML_N_IMG_ALT */
{" ", ALST_NOP, MAXA_NOP, TFLG_INT}, /* 138 HTML_NOP */
{"pre_plain", NULL, 0, TFLG_INT}, /* 139 HTML_PRE_PLAIN */
{"/pre_plain", NULL, 0, TFLG_INT | TFLG_END}, /* 140 HTML_N_PRE_PLAIN */
{"internal", NULL, 0, TFLG_INT}, /* 141 HTML_INTERNAL */
{"/internal", NULL, 0, TFLG_INT | TFLG_END}, /* 142 HTML_N_INTERNAL */
{"div_int", ALST_P, MAXA_P, TFLG_INT}, /* 143 HTML_DIV_INT */
{"/div_int", NULL, 0, TFLG_INT | TFLG_END}, /* 144 HTML_N_DIV_INT */
{"select_int", ALST_SELECT_INT, MAXA_SELECT_INT, TFLG_INT}, /* 160 HTML_SELECT_INT */
{"/select_int", NULL, 0, TFLG_INT | TFLG_END}, /* 161 HTML_N_SELECT_INT */
{"option_int", ALST_OPTION, MAXA_OPTION, TFLG_INT}, /* 162 HTML_OPTION_INT */
{"textarea_int", ALST_TEXTAREA_INT, MAXA_TEXTAREA_INT, TFLG_INT}, /* 163 HTML_TEXTAREA_INT */
{"/textarea_int", NULL, 0, TFLG_INT | TFLG_END}, /* 164 HTML_N_TEXTAREA_INT */
{"table_alt", ALST_TABLE_ALT, MAXA_TABLE_ALT, TFLG_INT}, /* 165 HTML_TABLE_ALT */
{"symbol", ALST_SYMBOL, MAXA_SYMBOL, TFLG_INT}, /* 166 HTML_SYMBOL */
{"/symbol", NULL, 0, TFLG_INT | TFLG_END}, /* 167 HTML_N_SYMBOL */
{"pre_int", NULL, 0, TFLG_INT}, /* 168 HTML_PRE_INT */
{"/pre_int", NULL, 0, TFLG_INT | TFLG_END}, /* 169 HTML_N_PRE_INT */
{"title_alt", ALST_TITLE_ALT, MAXA_TITLE_ALT, TFLG_INT}, /* 170 HTML_TITLE_ALT */
{"form_int", ALST_FORM_INT, MAXA_FORM_INT, TFLG_INT}, /* 171 HTML_FORM_INT */
{"/form_int", NULL, 0, TFLG_INT | TFLG_END}, /* 172 HTML_N_FORM_INT */
{"dl_compact", NULL, 0, TFLG_INT}, /* 173 HTML_DL_COMPACT */
{"input_alt", ALST_INPUT_ALT, MAXA_INPUT_ALT, TFLG_INT}, /* 174 HTML_INPUT_ALT */
{"/input_alt", NULL, 0, TFLG_INT | TFLG_END}, /* 175 HTML_N_INPUT_ALT */
{"img_alt", ALST_IMG_ALT, MAXA_IMG_ALT, TFLG_INT}, /* 176 HTML_IMG_ALT */
{"/img_alt", NULL, 0, TFLG_INT | TFLG_END}, /* 177 HTML_N_IMG_ALT */
{" ", ALST_NOP, MAXA_NOP, TFLG_INT}, /* 178 HTML_NOP */
{"pre_plain", NULL, 0, TFLG_INT}, /* 179 HTML_PRE_PLAIN */
{"/pre_plain", NULL, 0, TFLG_INT | TFLG_END}, /* 180 HTML_N_PRE_PLAIN */
{"internal", NULL, 0, TFLG_INT}, /* 181 HTML_INTERNAL */
{"/internal", NULL, 0, TFLG_INT | TFLG_END}, /* 182 HTML_N_INTERNAL */
{"div_int", ALST_P, MAXA_P, TFLG_INT}, /* 183 HTML_DIV_INT */
{"/div_int", NULL, 0, TFLG_INT | TFLG_END}, /* 184 HTML_N_DIV_INT */
};
TagAttrInfo AttrMAP[MAX_TAGATTR] = {
+54 -27
View File
@@ -1,4 +1,4 @@
/* $Id: html.h,v 1.29 2007/05/23 12:01:43 inu Exp $ */
/* $Id: html.h,v 1.31 2010/08/14 01:29:40 htrb Exp $ */
#ifndef _HTML_H
#define _HTML_H
#ifdef USE_SSL
@@ -202,35 +202,62 @@ typedef struct {
#define HTML_N_I 110
#define HTML_STRONG 111
#define HTML_N_STRONG 112
#define HTML_SPAN 113
#define HTML_N_SPAN 114
#define HTML_ABBR 115
#define HTML_N_ABBR 116
#define HTML_ACRONYM 117
#define HTML_N_ACRONYM 118
#define HTML_BASEFONT 119
#define HTML_BDO 120
#define HTML_N_BDO 121
#define HTML_BIG 122
#define HTML_N_BIG 123
#define HTML_BUTTON 124
#define HTML_FIELDSET 125
#define HTML_N_FIELDSET 126
#define HTML_IFRAME 127
#define HTML_LABEL 128
#define HTML_N_LABEL 129
#define HTML_LEGEND 130
#define HTML_N_LEGEND 131
#define HTML_NOSCRIPT 132
#define HTML_N_NOSCRIPT 133
#define HTML_OBJECT 134
#define HTML_OPTGROUP 135
#define HTML_N_OPTGROUP 136
#define HTML_PARAM 137
#define HTML_SMALL 138
#define HTML_N_SMALL 139
/* pseudo tag */
#define HTML_SELECT_INT 120
#define HTML_N_SELECT_INT 121
#define HTML_OPTION_INT 122
#define HTML_TEXTAREA_INT 123
#define HTML_N_TEXTAREA_INT 124
#define HTML_TABLE_ALT 125
#define HTML_SYMBOL 126
#define HTML_N_SYMBOL 127
#define HTML_PRE_INT 128
#define HTML_N_PRE_INT 129
#define HTML_TITLE_ALT 130
#define HTML_FORM_INT 131
#define HTML_N_FORM_INT 132
#define HTML_DL_COMPACT 133
#define HTML_INPUT_ALT 134
#define HTML_N_INPUT_ALT 135
#define HTML_IMG_ALT 136
#define HTML_N_IMG_ALT 137
#define HTML_NOP 138
#define HTML_PRE_PLAIN 139
#define HTML_N_PRE_PLAIN 140
#define HTML_INTERNAL 141
#define HTML_N_INTERNAL 142
#define HTML_DIV_INT 143
#define HTML_N_DIV_INT 144
#define HTML_SELECT_INT 160
#define HTML_N_SELECT_INT 161
#define HTML_OPTION_INT 162
#define HTML_TEXTAREA_INT 163
#define HTML_N_TEXTAREA_INT 164
#define HTML_TABLE_ALT 165
#define HTML_SYMBOL 166
#define HTML_N_SYMBOL 167
#define HTML_PRE_INT 168
#define HTML_N_PRE_INT 169
#define HTML_TITLE_ALT 170
#define HTML_FORM_INT 171
#define HTML_N_FORM_INT 172
#define HTML_DL_COMPACT 173
#define HTML_INPUT_ALT 174
#define HTML_N_INPUT_ALT 175
#define HTML_IMG_ALT 176
#define HTML_N_IMG_ALT 177
#define HTML_NOP 178
#define HTML_PRE_PLAIN 179
#define HTML_N_PRE_PLAIN 180
#define HTML_INTERNAL 181
#define HTML_N_INTERNAL 182
#define HTML_DIV_INT 183
#define HTML_N_DIV_INT 184
#define MAX_HTMLTAG 145
#define MAX_HTMLTAG 185
/* Tag attribute */
+6 -3
View File
@@ -1,4 +1,4 @@
/* $Id: image.c,v 1.36 2003/07/07 15:49:03 ukai Exp $ */
/* $Id: image.c,v 1.37 2010/12/21 10:13:55 htrb Exp $ */
#include "fm.h"
#include <sys/types.h>
@@ -115,10 +115,13 @@ openImgdisplay()
static void
closeImgdisplay()
{
if (Imgdisplay_rf)
fclose(Imgdisplay_rf);
if (Imgdisplay_wf)
fclose(Imgdisplay_wf);
if (Imgdisplay_rf) {
/* sync with the child */
getc(Imgdisplay_rf); /* EOF expected */
fclose(Imgdisplay_rf);
}
if (Imgdisplay_pid)
kill(Imgdisplay_pid, SIGKILL);
Imgdisplay_rf = NULL;
+440 -190
View File
@@ -1,7 +1,8 @@
#!/bin/sh
#
# install - install a program, script, or datafile
#
scriptversion=2006-12-25.00
# This originates from X11R5 (mit/util/scripts/install.sh), which was
# later released in X11R6 (xc/config/util/install.sh) with the
# following copyright and license.
@@ -38,232 +39,481 @@
# when there is no Makefile.
#
# This script is compatible with the BSD install script, but was written
# from scratch. It can only install one file at a time, a restriction
# shared with many OS's install programs.
# from scratch.
nl='
'
IFS=" "" $nl"
# set DOITPROG to echo to test this script
# Don't use :- since 4.3BSD and earlier shells don't like it.
doit="${DOITPROG-}"
# put in absolute paths if you don't have them in your path; or use env. vars.
mvprog="${MVPROG-mv}"
cpprog="${CPPROG-cp}"
chmodprog="${CHMODPROG-chmod}"
chownprog="${CHOWNPROG-chown}"
chgrpprog="${CHGRPPROG-chgrp}"
stripprog="${STRIPPROG-strip}"
rmprog="${RMPROG-rm}"
mkdirprog="${MKDIRPROG-mkdir}"
transformbasename=""
transform_arg=""
instcmd="$mvprog"
chmodcmd="$chmodprog 0755"
chowncmd=""
chgrpcmd=""
stripcmd=""
rmcmd="$rmprog -f"
mvcmd="$mvprog"
src=""
dst=""
dir_arg=""
while [ x"$1" != x ]; do
case $1 in
-c) instcmd="$cpprog"
shift
continue;;
-d) dir_arg=true
shift
continue;;
-m) chmodcmd="$chmodprog $2"
shift
shift
continue;;
-o) chowncmd="$chownprog $2"
shift
shift
continue;;
-g) chgrpcmd="$chgrpprog $2"
shift
shift
continue;;
-s) stripcmd="$stripprog"
shift
continue;;
-t=*) transformarg=`echo $1 | sed 's/-t=//'`
shift
continue;;
-b=*) transformbasename=`echo $1 | sed 's/-b=//'`
shift
continue;;
*) if [ x"$src" = x ]
then
src=$1
else
# this colon is to work around a 386BSD /bin/sh bug
:
dst=$1
fi
shift
continue;;
esac
done
if [ x"$src" = x ]
then
echo "install: no input file specified"
exit 1
doit=${DOITPROG-}
if test -z "$doit"; then
doit_exec=exec
else
true
doit_exec=$doit
fi
if [ x"$dir_arg" != x ]; then
dst=$src
src=""
if [ -d $dst ]; then
instcmd=:
chmodcmd=""
else
instcmd=mkdir
fi
else
# Put in absolute file names if you don't have them in your path;
# or use environment vars.
# Waiting for this to be detected by the "$instcmd $src $dsttmp" command
# might cause directories to be created, which would be especially bad
# if $src (and thus $dsttmp) contains '*'.
chgrpprog=${CHGRPPROG-chgrp}
chmodprog=${CHMODPROG-chmod}
chownprog=${CHOWNPROG-chown}
cmpprog=${CMPPROG-cmp}
cpprog=${CPPROG-cp}
mkdirprog=${MKDIRPROG-mkdir}
mvprog=${MVPROG-mv}
rmprog=${RMPROG-rm}
stripprog=${STRIPPROG-strip}
if [ -f $src -o -d $src ]
then
true
else
echo "install: $src does not exist"
exit 1
fi
if [ x"$dst" = x ]
then
echo "install: no destination specified"
exit 1
else
true
fi
# If destination is a directory, append the input filename; if your system
# does not like double slashes in filenames, you may need to add some logic
if [ -d $dst ]
then
dst="$dst"/`basename $src`
else
true
fi
fi
## this sed command emulates the dirname command
dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
# Make sure that the destination directory exists.
# this part is taken from Noah Friedman's mkinstalldirs script
# Skip lots of stat calls in the usual case.
if [ ! -d "$dstdir" ]; then
defaultIFS='
posix_glob='?'
initialize_posix_glob='
test "$posix_glob" != "?" || {
if (set -f) 2>/dev/null; then
posix_glob=
else
posix_glob=:
fi
}
'
IFS="${IFS-${defaultIFS}}"
oIFS="${IFS}"
# Some sh's can't handle IFS=/ for some reason.
IFS='%'
set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'`
IFS="${oIFS}"
posix_mkdir=
pathcomp=''
# Desired mode of installed file.
mode=0755
while [ $# -ne 0 ] ; do
pathcomp="${pathcomp}${1}"
shift
chgrpcmd=
chmodcmd=$chmodprog
chowncmd=
mvcmd=$mvprog
rmcmd="$rmprog -f"
stripcmd=
if [ ! -d "${pathcomp}" ] ;
then
$mkdirprog "${pathcomp}"
else
true
fi
src=
dst=
dir_arg=
dst_arg=
pathcomp="${pathcomp}/"
copy_on_change=false
no_target_directory=
usage="\
Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
or: $0 [OPTION]... SRCFILES... DIRECTORY
or: $0 [OPTION]... -t DIRECTORY SRCFILES...
or: $0 [OPTION]... -d DIRECTORIES...
In the 1st form, copy SRCFILE to DSTFILE.
In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
In the 4th, create DIRECTORIES.
Options:
--help display this help and exit.
--version display version info and exit.
-c (ignored)
-C install only if different (preserve the last data modification time)
-d create directories instead of installing files.
-g GROUP $chgrpprog installed files to GROUP.
-m MODE $chmodprog installed files to MODE.
-o USER $chownprog installed files to USER.
-s $stripprog installed files.
-t DIRECTORY install into DIRECTORY.
-T report an error if DSTFILE is a directory.
Environment variables override the default commands:
CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG
RMPROG STRIPPROG
"
while test $# -ne 0; do
case $1 in
-c) ;;
-C) copy_on_change=true;;
-d) dir_arg=true;;
-g) chgrpcmd="$chgrpprog $2"
shift;;
--help) echo "$usage"; exit $?;;
-m) mode=$2
case $mode in
*' '* | *' '* | *'
'* | *'*'* | *'?'* | *'['*)
echo "$0: invalid mode: $mode" >&2
exit 1;;
esac
shift;;
-o) chowncmd="$chownprog $2"
shift;;
-s) stripcmd=$stripprog;;
-t) dst_arg=$2
shift;;
-T) no_target_directory=true;;
--version) echo "$0 $scriptversion"; exit $?;;
--) shift
break;;
-*) echo "$0: invalid option: $1" >&2
exit 1;;
*) break;;
esac
shift
done
if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
# When -d is used, all remaining arguments are directories to create.
# When -t is used, the destination is already specified.
# Otherwise, the last argument is the destination. Remove it from $@.
for arg
do
if test -n "$dst_arg"; then
# $@ is not empty: it contains at least $arg.
set fnord "$@" "$dst_arg"
shift # fnord
fi
shift # arg
dst_arg=$arg
done
fi
if [ x"$dir_arg" != x ]
then
$doit $instcmd $dst &&
if test $# -eq 0; then
if test -z "$dir_arg"; then
echo "$0: no input file specified." >&2
exit 1
fi
# It's OK to call `install-sh -d' without argument.
# This can happen when creating conditional directories.
exit 0
fi
if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi &&
if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi &&
if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi &&
if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi
else
if test -z "$dir_arg"; then
trap '(exit $?); exit' 1 2 13 15
# If we're going to rename the final executable, determine the name now.
# Set umask so as not to create temps with too-generous modes.
# However, 'strip' requires both read and write access to temps.
case $mode in
# Optimize common cases.
*644) cp_umask=133;;
*755) cp_umask=22;;
if [ x"$transformarg" = x ]
then
dstfile=`basename $dst`
*[0-7])
if test -z "$stripcmd"; then
u_plus_rw=
else
u_plus_rw='% 200'
fi
cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
*)
if test -z "$stripcmd"; then
u_plus_rw=
else
u_plus_rw=,u+rw
fi
cp_umask=$mode$u_plus_rw;;
esac
fi
for src
do
# Protect names starting with `-'.
case $src in
-*) src=./$src;;
esac
if test -n "$dir_arg"; then
dst=$src
dstdir=$dst
test -d "$dstdir"
dstdir_status=$?
else
# Waiting for this to be detected by the "$cpprog $src $dsttmp" command
# might cause directories to be created, which would be especially bad
# if $src (and thus $dsttmp) contains '*'.
if test ! -f "$src" && test ! -d "$src"; then
echo "$0: $src does not exist." >&2
exit 1
fi
if test -z "$dst_arg"; then
echo "$0: no destination specified." >&2
exit 1
fi
dst=$dst_arg
# Protect names starting with `-'.
case $dst in
-*) dst=./$dst;;
esac
# If destination is a directory, append the input filename; won't work
# if double slashes aren't ignored.
if test -d "$dst"; then
if test -n "$no_target_directory"; then
echo "$0: $dst_arg: Is a directory" >&2
exit 1
fi
dstdir=$dst
dst=$dstdir/`basename "$src"`
dstdir_status=0
else
# Prefer dirname, but fall back on a substitute if dirname fails.
dstdir=`
(dirname "$dst") 2>/dev/null ||
expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$dst" : 'X\(//\)[^/]' \| \
X"$dst" : 'X\(//\)$' \| \
X"$dst" : 'X\(/\)' \| . 2>/dev/null ||
echo X"$dst" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
s//\1/
q
}
/^X\(\/\/\)[^/].*/{
s//\1/
q
}
/^X\(\/\/\)$/{
s//\1/
q
}
/^X\(\/\).*/{
s//\1/
q
}
s/.*/./; q'
`
test -d "$dstdir"
dstdir_status=$?
fi
fi
obsolete_mkdir_used=false
if test $dstdir_status != 0; then
case $posix_mkdir in
'')
# Create intermediate dirs using mode 755 as modified by the umask.
# This is like FreeBSD 'install' as of 1997-10-28.
umask=`umask`
case $stripcmd.$umask in
# Optimize common cases.
*[2367][2367]) mkdir_umask=$umask;;
.*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
*[0-7])
mkdir_umask=`expr $umask + 22 \
- $umask % 100 % 40 + $umask % 20 \
- $umask % 10 % 4 + $umask % 2
`;;
*) mkdir_umask=$umask,go-w;;
esac
# With -d, create the new directory with the user-specified mode.
# Otherwise, rely on $mkdir_umask.
if test -n "$dir_arg"; then
mkdir_mode=-m$mode
else
dstfile=`basename $dst $transformbasename |
sed $transformarg`$transformbasename
mkdir_mode=
fi
# don't allow the sed command to completely eliminate the filename
posix_mkdir=false
case $umask in
*[123567][0-7][0-7])
# POSIX mkdir -p sets u+wx bits regardless of umask, which
# is incompatible with FreeBSD 'install' when (umask & 300) != 0.
;;
*)
tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
if [ x"$dstfile" = x ]
then
dstfile=`basename $dst`
if (umask $mkdir_umask &&
exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
then
if test -z "$dir_arg" || {
# Check for POSIX incompatibilities with -m.
# HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
# other-writeable bit of parent directory when it shouldn't.
# FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
ls_ld_tmpdir=`ls -ld "$tmpdir"`
case $ls_ld_tmpdir in
d????-?r-*) different_mode=700;;
d????-?--*) different_mode=755;;
*) false;;
esac &&
$mkdirprog -m$different_mode -p -- "$tmpdir" && {
ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
}
}
then posix_mkdir=:
fi
rmdir "$tmpdir/d" "$tmpdir"
else
# Remove any dirs left behind by ancient mkdir implementations.
rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
fi
trap '' 0;;
esac;;
esac
if
$posix_mkdir && (
umask $mkdir_umask &&
$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
)
then :
else
# The umask is ridiculous, or mkdir does not conform to POSIX,
# or it failed possibly due to a race condition. Create the
# directory the slow way, step by step, checking for races as we go.
case $dstdir in
/*) prefix='/';;
-*) prefix='./';;
*) prefix='';;
esac
eval "$initialize_posix_glob"
oIFS=$IFS
IFS=/
$posix_glob set -f
set fnord $dstdir
shift
$posix_glob set +f
IFS=$oIFS
prefixes=
for d
do
test -z "$d" && continue
prefix=$prefix$d
if test -d "$prefix"; then
prefixes=
else
true
if $posix_mkdir; then
(umask=$mkdir_umask &&
$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
# Don't fail if two instances are running concurrently.
test -d "$prefix" || exit 1
else
case $prefix in
*\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
*) qprefix=$prefix;;
esac
prefixes="$prefixes '$qprefix'"
fi
fi
prefix=$prefix/
done
# Make a temp file name in the proper directory.
if test -n "$prefixes"; then
# Don't fail if two instances are running concurrently.
(umask $mkdir_umask &&
eval "\$doit_exec \$mkdirprog $prefixes") ||
test -d "$dstdir" || exit 1
obsolete_mkdir_used=true
fi
fi
fi
dsttmp=$dstdir/#inst.$$#
if test -n "$dir_arg"; then
{ test -z "$chowncmd" || $doit $chowncmd "$dst"; } &&
{ test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } &&
{ test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false ||
test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1
else
# Move or copy the file name to the temp name
# Make a couple of temp file names in the proper directory.
dsttmp=$dstdir/_inst.$$_
rmtmp=$dstdir/_rm.$$_
$doit $instcmd $src $dsttmp &&
# Trap to clean up those temp files at exit.
trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
trap "rm -f ${dsttmp}" 0 &&
# Copy the file name to the temp name.
(umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") &&
# and set any options; do chmod last to preserve setuid bits
# and set any options; do chmod last to preserve setuid bits.
#
# If any of these fail, we abort the whole thing. If we want to
# ignore errors from any of these, just make sure not to ignore
# errors from the above "$doit $cpprog $src $dsttmp" command.
#
{ test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } &&
{ test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } &&
{ test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } &&
{ test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } &&
# If any of these fail, we abort the whole thing. If we want to
# ignore errors from any of these, just make sure not to ignore
# errors from the above "$doit $instcmd $src $dsttmp" command.
# If -C, don't bother to copy if it wouldn't change the file.
if $copy_on_change &&
old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` &&
new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` &&
if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi &&
if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi &&
if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi &&
if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi &&
eval "$initialize_posix_glob" &&
$posix_glob set -f &&
set X $old && old=:$2:$4:$5:$6 &&
set X $new && new=:$2:$4:$5:$6 &&
$posix_glob set +f &&
# Now rename the file to the real destination.
test "$old" = "$new" &&
$cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
then
rm -f "$dsttmp"
else
# Rename the file to the real destination.
$doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null ||
$doit $rmcmd -f $dstdir/$dstfile &&
$doit $mvcmd $dsttmp $dstdir/$dstfile
# The rename failed, perhaps because mv can't rename something else
# to itself, or perhaps because mv is so ancient that it does not
# support -f.
{
# Now remove or move aside any old file at destination location.
# We try this two ways since rm can't unlink itself on some
# systems and the destination file might be busy for other
# reasons. In this case, the final cleanup might fail but the new
# file should still install successfully.
{
test ! -f "$dst" ||
$doit $rmcmd -f "$dst" 2>/dev/null ||
{ $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
{ $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
} ||
{ echo "$0: cannot unlink or rename $dst" >&2
(exit 1); exit 1
}
} &&
fi &&
# Now rename the file to the real destination.
$doit $mvcmd "$dsttmp" "$dst"
}
fi || exit 1
trap '' 0
fi
done
exit 0
# Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-end: "$"
# End:
+1
View File
@@ -0,0 +1 @@
D
+1
View File
@@ -0,0 +1 @@
w3m/intl
+1
View File
@@ -0,0 +1 @@
:ext:inu@w3m.cvs.sourceforge.net:/cvsroot/w3m
+25 -5
View File
@@ -1,4 +1,4 @@
/* $Id: istream.c,v 1.26 2007/05/23 15:06:05 inu Exp $ */
/* $Id: istream.c,v 1.27 2010/07/18 13:43:23 htrb Exp $ */
#include "fm.h"
#include "myctype.h"
#include "istream.h"
@@ -447,8 +447,17 @@ ssl_check_cert_ident(X509 * x, char *hostname)
if (!seen_dnsname)
seen_dnsname = Strnew();
/* replace \0 to make full string visible to user */
if (sl != strlen(sn)) {
int i;
for (i = 0; i < sl; ++i) {
if (!sn[i])
sn[i] = '!';
}
}
Strcat_m_charp(seen_dnsname, sn, " ", NULL);
if (ssl_match_cert_ident(sn, sl, hostname))
if (sl == strlen(sn) /* catch \0 in SAN */
&& ssl_match_cert_ident(sn, sl, hostname))
break;
}
}
@@ -466,16 +475,27 @@ ssl_check_cert_ident(X509 * x, char *hostname)
if (match_ident == FALSE && ret == NULL) {
X509_NAME *xn;
char buf[2048];
int slen;
xn = X509_get_subject_name(x);
if (X509_NAME_get_text_by_NID(xn, NID_commonName,
buf, sizeof(buf)) == -1)
slen = X509_NAME_get_text_by_NID(xn, NID_commonName, buf, sizeof(buf));
if ( slen == -1)
/* FIXME: gettextize? */
ret = Strnew_charp("Unable to get common name from peer cert");
else if (!ssl_match_cert_ident(buf, strlen(buf), hostname))
else if (slen != strlen(buf)
|| !ssl_match_cert_ident(buf, strlen(buf), hostname)) {
/* replace \0 to make full string visible to user */
if (slen != strlen(buf)) {
int i;
for (i = 0; i < slen; ++i) {
if (!buf[i])
buf[i] = '!';
}
}
/* FIXME: gettextize? */
ret = Sprintf("Bad cert ident %s from %s", buf, hostname);
}
else
match_ident = TRUE;
}
+53
View File
@@ -0,0 +1,53 @@
/.cvsignore/1.1/Mon Sep 22 22:53:53 2003//
/big5.c/1.1/Mon Sep 22 21:02:23 2003//
/big5.h/1.1/Mon Sep 22 21:02:23 2003//
/ccs.h/1.1/Mon Sep 22 21:02:23 2003//
/ces.c/1.1/Mon Sep 22 21:02:23 2003//
/char_conv.c/1.1/Mon Sep 22 21:02:23 2003//
/combining.c/1.1/Mon Sep 22 21:02:23 2003//
/conv.c/1.1/Mon Sep 22 21:02:23 2003//
/detect.c/1.3/Wed Apr 5 14:18:54 2006//
/gb18030.c/1.1/Mon Sep 22 21:02:23 2003//
/gb18030.h/1.1/Mon Sep 22 21:02:23 2003//
/gbk.c/1.1/Mon Sep 22 21:02:23 2003//
/gbk.h/1.1/Mon Sep 22 21:02:23 2003//
/hkscs.c/1.1/Mon Sep 22 21:02:23 2003//
/hkscs.h/1.1/Mon Sep 22 21:02:23 2003//
/hz.c/1.1/Mon Sep 22 21:02:23 2003//
/hz.h/1.1/Mon Sep 22 21:02:23 2003//
/iso2022.c/1.1/Mon Sep 22 21:02:23 2003//
/iso2022.h/1.1/Mon Sep 22 21:02:23 2003//
/jis.c/1.1/Mon Sep 22 21:02:23 2003//
/jis.h/1.1/Mon Sep 22 21:02:23 2003//
/johab.c/1.1/Mon Sep 22 21:02:23 2003//
/johab.h/1.1/Mon Sep 22 21:02:23 2003//
/priv.c/1.1/Mon Sep 22 21:02:23 2003//
/priv.h/1.1/Mon Sep 22 21:02:23 2003//
/putc.c/1.1/Mon Sep 22 21:02:23 2003//
/search.c/1.1/Mon Sep 22 21:02:23 2003//
/search.h/1.1/Mon Sep 22 21:02:23 2003//
/sjis.c/1.1/Mon Sep 22 21:02:23 2003//
/sjis.h/1.1/Mon Sep 22 21:02:23 2003//
/test.c/1.1/Mon Sep 22 21:02:23 2003//
/ucs.map/1.1/Mon Sep 22 21:02:23 2003//
/uhc.c/1.1/Mon Sep 22 21:02:23 2003//
/uhc.h/1.1/Mon Sep 22 21:02:23 2003//
/utf7.c/1.1/Mon Sep 22 21:02:23 2003//
/utf7.h/1.1/Mon Sep 22 21:02:23 2003//
/utf8.c/1.1/Mon Sep 22 21:02:23 2003//
/utf8.h/1.1/Mon Sep 22 21:02:23 2003//
/viet.c/1.1/Mon Sep 22 21:02:23 2003//
/viet.h/1.1/Mon Sep 22 21:02:23 2003//
/wc.h/1.1/Mon Sep 22 21:02:23 2003//
/wtf.c/1.1/Mon Sep 22 21:02:23 2003//
/wtf.h/1.1/Mon Sep 22 21:02:23 2003//
D/map////
/EastAsianWidth.txt/1.1/Sun Jul 25 09:55:05 2010//
/Makefile.in/1.7/Tue Jan 4 09:22:27 2011//
/ambwidth_map.awk/1.1/Sun Jul 25 09:55:05 2010//
/ces.h/1.2/Tue Jan 4 09:22:27 2011//
/charset.c/1.4/Tue Jan 4 09:22:27 2011//
/status.c/1.2/Tue Jan 4 09:22:27 2011//
/ucs.c/1.4/Tue Jan 4 09:22:27 2011//
/ucs.h/1.4/Tue Jan 4 09:22:27 2011//
/wc_types.h/1.3/Tue Jan 4 09:22:27 2011//
+1
View File
@@ -0,0 +1 @@
w3m/libwc
+1
View File
@@ -0,0 +1 @@
:ext:inu@w3m.cvs.sourceforge.net:/cvsroot/w3m
File diff suppressed because it is too large Load Diff
+3 -1
View File
@@ -95,6 +95,8 @@ $(LIBRARY): $(OBJS)
test: $(LIBRARY) test.o ../Str.o ../myctype.o
$(CC) -o wctest test.o ../Str.o ../myctype.o $(LIBRARY) ../gc/gc.a
map/ucs_ambwidth.map: EastAsianWidth.txt
awk -f ambwidth_map.awk EastAsianWidth.txt > map/ucs_ambwidth.map
###
big5.o: wc.h wc_types.h ces.h ccs.h iso2022.h priv.h big5.h search.h wtf.h \
ucs.h
@@ -154,7 +156,7 @@ ucs.o: wc.h wc_types.h ces.h ccs.h iso2022.h priv.h ucs.h search.h big5.h \
map/hkscs_ucs_p2.map map/gb12345_ucs.map map/johab_ucs.map \
map/sjis_ext_ucs.map map/gbk_ucs.map map/uhc_ucs.map map/ucs_wide.map \
map/ucs_combining.map map/ucs_precompose.map map/ucs_hangul.map \
map/ucs_fullwidth.map
map/ucs_fullwidth.map map/ucs_ambwidth.map
uhc.o: wc.h wc_types.h ces.h ccs.h iso2022.h priv.h uhc.h wtf.h ucs.h
utf7.o: wc.h wc_types.h ces.h ccs.h iso2022.h priv.h ucs.h utf7.h wtf.h
utf8.o: wc.h wc_types.h ces.h ccs.h iso2022.h priv.h ucs.h utf8.h wtf.h
+47
View File
@@ -0,0 +1,47 @@
BEGIN {
FS = "[; ]";
i = 0;
}
$2 == "A" {
code = sprintf("0x%s", $1);
if (strtonum(code) < 0x10000) {
map[i] = code
i++;
}
}
END {
n = 0;
start = map[0]
prev = strtonum(map[0]);
for (j = 1; j < i; j++) {
cur = strtonum(map[j]);
if (match(map[j], "[.]+")) {
map2[n] = sprintf("%s, %s", start, map[j - 1]);
n++;
gsub("[.]+", ", 0x", map[j])
map2[n] = map[j];
n++;
start = map[j + 1];
cur = strtonum(start);
} else {
if (cur - prev > 2) {
map2[n] = sprintf("%s, %s", start, map[j - 1]);
start = map[j];
n++;
}
if (j == i - 1) {
map2[n] = sprintf("%s, %s", start, map[j]);
n++;
}
}
prev = cur;
}
printf("static wc_map ucs_ambwidth_map[] = {\n");
for (j = 0; j < n; j++) {
printf(" { %s },\n", map2[j]);
}
printf("};\n");
printf("#define N_ucs_ambwidth_map (sizeof(ucs_ambwidth_map) / sizeof(*ucs_ambwidth_map))\n");
}
+1
View File
@@ -176,6 +176,7 @@ enum {
#define WC_CES_SHIFT_JIS (WC_CES_E_PRIV2|WC_CES_N_SHIFT_JIS)
#define WC_CES_CP932 WC_CES_SHIFT_JIS
#define WC_CES_CP943 WC_CES_SHIFT_JIS
#define WC_CES_SHIFT_JISX0213 (WC_CES_E_PRIV2|WC_CES_N_SHIFT_JISX0213)
#define WC_CES_GBK (WC_CES_E_PRIV2|WC_CES_N_GBK)
#define WC_CES_CP936 WC_CES_GBK
+60 -60
View File
@@ -32,6 +32,46 @@ static struct {
{ NULL, 0 }
};
static wc_ces
wc_codepage(int n)
{
switch (n) {
case 437: return WC_CES_CP437;
case 737: return WC_CES_CP737;
case 775: return WC_CES_CP775;
case 850: return WC_CES_CP850;
case 852: return WC_CES_CP852;
case 855: return WC_CES_CP855;
case 856: return WC_CES_CP856;
case 857: return WC_CES_CP857;
case 860: return WC_CES_CP860;
case 861: return WC_CES_CP861;
case 862: return WC_CES_CP862;
case 863: return WC_CES_CP863;
case 864: return WC_CES_CP864;
case 865: return WC_CES_CP865;
case 866: return WC_CES_CP866;
case 869: return WC_CES_CP869;
case 874: return WC_CES_CP874;
case 932: return WC_CES_CP932; /* CP932 = Shift_JIS */
case 936: return WC_CES_CP936; /* CP936 = GBK > EUC_CN */
case 943: return WC_CES_CP943; /* CP943 = Shift_JIS */
case 949: return WC_CES_CP949; /* CP949 = UHC > EUC_KR */
case 950: return WC_CES_CP950; /* CP950 = Big5 */
case 1006: return WC_CES_CP1006;
case 1250: return WC_CES_CP1250;
case 1251: return WC_CES_CP1251;
case 1252: return WC_CES_CP1252;
case 1253: return WC_CES_CP1253;
case 1254: return WC_CES_CP1254;
case 1255: return WC_CES_CP1255;
case 1256: return WC_CES_CP1256;
case 1257: return WC_CES_CP1257;
case 1258: return WC_CES_CP1258;
}
return 0;
}
wc_ces
wc_guess_charset(char *charset, wc_ces orig)
{
@@ -119,6 +159,11 @@ wc_charset_to_ces(char *charset)
if (n >= 1 && n <= 16 && n != 12)
return (WC_CES_E_ISO_8859 | n);
return WC_CES_ISO_8859_1;
} else if (! strncmp(p, "ibm", 3)) {
p += 3;
if (*p >= '1' && *p <= '9')
return wc_codepage(atoi(p));
return wc_charset_to_ces(p);
}
break;
case 'j':
@@ -135,6 +180,10 @@ wc_charset_to_ces(char *charset)
! strncmp(p, "sjis", 4))
return WC_CES_SHIFT_JIS;
break;
case 'p':
if (! strncmp(p, "pck", 3))
return WC_CES_SHIFT_JIS;
break;
case 'g':
if (! strncmp(p, "gb18030", 7) ||
! strncmp(p, "gbk2k", 5))
@@ -210,58 +259,18 @@ wc_charset_to_ces(char *charset)
return WC_CES_EUC_CN;
if (*(p+1) != 'p')
break;
n = atoi(p + 2);
switch (n) {
case 437: return WC_CES_CP437;
case 737: return WC_CES_CP737;
case 775: return WC_CES_CP775;
case 850: return WC_CES_CP850;
case 852: return WC_CES_CP852;
case 855: return WC_CES_CP855;
case 856: return WC_CES_CP856;
case 857: return WC_CES_CP857;
case 860: return WC_CES_CP860;
case 861: return WC_CES_CP861;
case 862: return WC_CES_CP862;
case 863: return WC_CES_CP863;
case 864: return WC_CES_CP864;
case 865: return WC_CES_CP865;
case 866: return WC_CES_CP866;
case 869: return WC_CES_CP869;
case 874: return WC_CES_CP874;
case 932: return WC_CES_CP932; /* CP932 = Shift_JIS */
case 936: return WC_CES_CP936; /* CP936 = GBK > EUC_CN */
case 949: return WC_CES_CP949; /* CP949 = UHC > EUC_KR */
case 950: return WC_CES_CP950; /* CP950 = Big5 */
case 1006: return WC_CES_CP1006;
case 1250: return WC_CES_CP1250;
case 1251: return WC_CES_CP1251;
case 1252: return WC_CES_CP1252;
case 1253: return WC_CES_CP1253;
case 1254: return WC_CES_CP1254;
case 1255: return WC_CES_CP1255;
case 1256: return WC_CES_CP1256;
case 1257: return WC_CES_CP1257;
case 1258: return WC_CES_CP1258;
}
p += 2;
if (*p >= '1' && *p <= '9')
return wc_codepage(atoi(p));
break;
case 'w':
if (strncmp(p, "windows", 7))
break;
p += 7;
if (! strncmp(p, "31j", 3))
return WC_CES_CP932;
n = atoi(p + 7);
switch (n) {
case 1250: return WC_CES_CP1250;
case 1251: return WC_CES_CP1251;
case 1252: return WC_CES_CP1252;
case 1253: return WC_CES_CP1253;
case 1254: return WC_CES_CP1254;
case 1255: return WC_CES_CP1255;
case 1256: return WC_CES_CP1256;
case 1257: return WC_CES_CP1257;
case 1258: return WC_CES_CP1258;
}
if (*p >= '1' && *p <= '9')
return wc_codepage(atoi(p));
break;
}
return 0;
@@ -345,18 +354,9 @@ wc_charset_short_to_ces(char *charset)
case 'c':
return WC_CES_ISO_2022_CN;
case 'w':
n = atoi(p + 1);
switch (n) {
case 1250: return WC_CES_CP1250;
case 1251: return WC_CES_CP1251;
case 1252: return WC_CES_CP1252;
case 1253: return WC_CES_CP1253;
case 1254: return WC_CES_CP1254;
case 1255: return WC_CES_CP1255;
case 1256: return WC_CES_CP1256;
case 1257: return WC_CES_CP1257;
case 1258: return WC_CES_CP1258;
}
p++;
if (*p >= '1' && *p <= '9')
return wc_codepage(atoi(p));
break;
case 'r':
return WC_CES_RAW;
@@ -368,7 +368,7 @@ wc_ces
wc_locale_to_ces(char *locale)
{
char *p = locale;
char buf[6];
char buf[8];
int n;
if (*p == 'C' && *(p+1) == '\0')
@@ -380,7 +380,7 @@ wc_locale_to_ces(char *locale)
return wc_charset_to_ces(cs);
}
#endif
for (n = 0; *p && *p != '.' && n < 5; p++) {
for (n = 0; *p && *p != '.' && n < 7; p++) {
if ((unsigned char)*p > 0x20)
buf[n++] = tolower(*p);
}
+112
View File
@@ -0,0 +1,112 @@
/big5_ucs.map/1.1/Mon Sep 22 21:02:24 2003//
/cns11643_ucs.map/1.1/Mon Sep 22 21:02:24 2003//
/cp1006_ucs.map/1.1/Mon Sep 22 21:02:24 2003//
/cp1250_ucs.map/1.1/Mon Sep 22 21:02:24 2003//
/cp1251_ucs.map/1.1/Mon Sep 22 21:02:24 2003//
/cp1252_ucs.map/1.1/Mon Sep 22 21:02:24 2003//
/cp1253_ucs.map/1.1/Mon Sep 22 21:02:24 2003//
/cp1254_ucs.map/1.1/Mon Sep 22 21:02:24 2003//
/cp1255_combining.map/1.1/Mon Sep 22 21:02:25 2003//
/cp1255_ucs.map/1.1/Mon Sep 22 21:02:25 2003//
/cp1256_combining.map/1.1/Mon Sep 22 21:02:25 2003//
/cp1256_ucs.map/1.1/Mon Sep 22 21:02:25 2003//
/cp1257_ucs.map/1.1/Mon Sep 22 21:02:25 2003//
/cp1258_combining.map/1.1/Mon Sep 22 21:02:25 2003//
/cp1258_ucs.map/1.1/Mon Sep 22 21:02:25 2003//
/cp437_ucs.map/1.1/Mon Sep 22 21:02:25 2003//
/cp737_ucs.map/1.1/Mon Sep 22 21:02:25 2003//
/cp775_ucs.map/1.1/Mon Sep 22 21:02:25 2003//
/cp850_ucs.map/1.1/Mon Sep 22 21:02:25 2003//
/cp852_ucs.map/1.1/Mon Sep 22 21:02:25 2003//
/cp855_ucs.map/1.1/Mon Sep 22 21:02:25 2003//
/cp856_ucs.map/1.1/Mon Sep 22 21:02:25 2003//
/cp857_ucs.map/1.1/Mon Sep 22 21:02:25 2003//
/cp860_ucs.map/1.1/Mon Sep 22 21:02:25 2003//
/cp861_ucs.map/1.1/Mon Sep 22 21:02:25 2003//
/cp862_ucs.map/1.1/Mon Sep 22 21:02:25 2003//
/cp863_ucs.map/1.1/Mon Sep 22 21:02:25 2003//
/cp864_combining.map/1.1/Mon Sep 22 21:02:25 2003//
/cp864_ucs.map/1.1/Mon Sep 22 21:02:25 2003//
/cp865_ucs.map/1.1/Mon Sep 22 21:02:25 2003//
/cp866_ucs.map/1.1/Mon Sep 22 21:02:25 2003//
/cp869_ucs.map/1.1/Mon Sep 22 21:02:25 2003//
/cp874_combining.map/1.1/Mon Sep 22 21:02:25 2003//
/cp874_ucs.map/1.1/Mon Sep 22 21:02:25 2003//
/gb12345_ucs.map/1.1/Mon Sep 22 21:02:25 2003//
/gb18030_ucs.map/1.1/Mon Sep 22 21:02:25 2003//
/gb2312_gbk.map/1.1/Mon Sep 22 21:02:25 2003//
/gb2312_ucs.map/1.1/Mon Sep 22 21:02:25 2003//
/gbk_ucs.map/1.1/Mon Sep 22 21:02:25 2003//
/hkscs_ucs.map/1.1/Mon Sep 22 21:02:26 2003//
/hkscs_ucs_p2.map/1.1/Mon Sep 22 21:02:26 2003//
/iso885910_ucs.map/1.1/Mon Sep 22 21:02:26 2003//
/iso885911_combining.map/1.1/Mon Sep 22 21:02:26 2003//
/iso885911_ucs.map/1.1/Mon Sep 22 21:02:26 2003//
/iso885913_ucs.map/1.1/Mon Sep 22 21:02:26 2003//
/iso885914_ucs.map/1.1/Mon Sep 22 21:02:26 2003//
/iso885915_ucs.map/1.1/Mon Sep 22 21:02:26 2003//
/iso885916_ucs.map/1.1/Mon Sep 22 21:02:26 2003//
/iso88591_ucs.map/1.1/Mon Sep 22 21:02:26 2003//
/iso88592_ucs.map/1.1/Mon Sep 22 21:02:26 2003//
/iso88593_ucs.map/1.1/Mon Sep 22 21:02:26 2003//
/iso88594_ucs.map/1.1/Mon Sep 22 21:02:26 2003//
/iso88595_ucs.map/1.1/Mon Sep 22 21:02:26 2003//
/iso88596_combining.map/1.1/Mon Sep 22 21:02:26 2003//
/iso88596_ucs.map/1.1/Mon Sep 22 21:02:26 2003//
/iso88597_ucs.map/1.1/Mon Sep 22 21:02:26 2003//
/iso88598_ucs.map/1.1/Mon Sep 22 21:02:26 2003//
/iso88599_ucs.map/1.1/Mon Sep 22 21:02:26 2003//
/jisx0201k_jisx0208.map/1.1/Mon Sep 22 21:02:26 2003//
/jisx0201k_ucs.map/1.1/Mon Sep 22 21:02:26 2003//
/jisx0208_jisx02131.map/1.1/Mon Sep 22 21:02:26 2003//
/jisx0208x0212x0213_ucs.map/1.1/Mon Sep 22 21:02:26 2003//
/jisx02132_sjis.map/1.1/Mon Sep 22 21:02:28 2003//
/jisx0213_ucs_p2.map/1.1/Mon Sep 22 21:02:28 2003//
/johab_ucs.map/1.1/Mon Sep 22 21:02:28 2003//
/koi8r_ucs.map/1.1/Mon Sep 22 21:02:28 2003//
/koi8u_ucs.map/1.1/Mon Sep 22 21:02:28 2003//
/ksx1001_ucs.map/1.1/Mon Sep 22 21:02:28 2003//
/mk_big5_txt.pl/1.1/Mon Sep 22 21:02:28 2003//
/mk_big5_ucs_map.pl/1.1/Mon Sep 22 21:02:28 2003//
/mk_cns_ucs_map.pl/1.1/Mon Sep 22 21:02:28 2003//
/mk_combining_map.pl/1.1/Mon Sep 22 21:02:28 2003//
/mk_cp1258_ucs_map.pl/1.1/Mon Sep 22 21:02:28 2003//
/mk_cp950_txt.pl/1.1/Mon Sep 22 21:02:28 2003//
/mk_gb18030_ucs_map.pl/1.1/Mon Sep 22 21:02:28 2003//
/mk_gb_ucs_map.pl/1.1/Mon Sep 22 21:02:28 2003//
/mk_gbk_ucs_map.pl/1.1/Mon Sep 22 21:02:28 2003//
/mk_hkscs_p2_txt.pl/1.1/Mon Sep 22 21:02:28 2003//
/mk_hkscs_txt.pl/1.1/Mon Sep 22 21:02:28 2003//
/mk_hkscs_ucs_map.pl/1.1/Mon Sep 22 21:02:28 2003//
/mk_hkscs_ucs_p2_map.pl/1.1/Mon Sep 22 21:02:28 2003//
/mk_jis_ucs_map.pl/1.1/Mon Sep 22 21:02:28 2003//
/mk_jisx0213_ucs_map.pl/1.1/Mon Sep 22 21:02:28 2003//
/mk_johab_ucs_map.pl/1.1/Mon Sep 22 21:02:28 2003//
/mk_ks_ucs_map.pl/1.1/Mon Sep 22 21:02:28 2003//
/mk_sjis_ucs_map.pl/1.1/Mon Sep 22 21:02:28 2003//
/mk_tis_ucs_map.pl/1.1/Mon Sep 22 21:02:28 2003//
/mk_ucs_map.pl/1.1/Mon Sep 22 21:02:28 2003//
/mk_uhc_ucs_map.pl/1.1/Mon Sep 22 21:02:28 2003//
/mk_viet_ucs_map.pl/1.1/Mon Sep 22 21:02:28 2003//
/nextstep_ucs.map/1.1/Mon Sep 22 21:02:28 2003//
/sjis_ext_ucs.map/1.1/Mon Sep 22 21:02:28 2003//
/tcvn57123_tcvn5712.map/1.1/Mon Sep 22 21:02:28 2003//
/tcvn5712_combining.map/1.1/Mon Sep 22 21:02:28 2003//
/tcvn5712_ucs.map/1.1/Mon Sep 22 21:02:28 2003//
/ucs_combining.map/1.1/Mon Sep 22 21:02:28 2003//
/ucs_fullwidth.map/1.1/Mon Sep 22 21:02:28 2003//
/ucs_hangul.map/1.1/Mon Sep 22 21:02:28 2003//
/ucs_precompose.map/1.1/Mon Sep 22 21:02:28 2003//
/uhc_ucs.map/1.1/Mon Sep 22 21:02:28 2003//
/viscii11_ucs.map/1.1/Mon Sep 22 21:02:29 2003//
/vps_ucs.map/1.1/Mon Sep 22 21:02:29 2003//
/mk_ucs_case_map.pl/1.1/Tue Aug 24 10:11:51 2010//
/mk_ucs_isdigit_map.pl/1.1/Tue Aug 24 10:11:51 2010//
/ucs_ambwidth.map/1.1/Sun Jul 25 09:55:05 2010//
/ucs_case.map/1.1/Tue Aug 24 10:11:51 2010//
/ucs_isalpha.map/1.1/Tue Aug 24 10:11:51 2010//
/ucs_isdigit.map/1.1/Tue Aug 24 10:11:51 2010//
/ucs_islower.map/1.1/Tue Aug 24 10:11:51 2010//
/ucs_isupper.map/1.1/Tue Aug 24 10:11:51 2010//
/ucs_wide.map/1.2/Tue Jan 4 09:22:28 2011//
D
+1
View File
@@ -0,0 +1 @@
w3m/libwc/map
+1
View File
@@ -0,0 +1 @@
:ext:inu@w3m.cvs.sourceforge.net:/cvsroot/w3m
+48
View File
@@ -0,0 +1,48 @@
open(MAP, "> ucs_case.map");
print MAP <<EOF;
/*
File generated from UnicodeData-4.1.0.txt.
*/
EOF
for (<DATA>) {
chop;
($name, $col) = split;
@cp = ();
open(UCD, "< private/UnicodeData-4.1.0.txt");
while(<UCD>) {
chop;
@entry = split(';');
last if $entry[0] =~ m/.{5,}/;
if ($entry[$col] ne '') {
push (@cp, $entry[0]);
$map{$entry[0]} = $entry[$col];
}
}
close UCD;
$nocp = @cp;
print MAP <<EOF;
#define N_ucs_${name}_map ${nocp}
static wc_map ucs_${name}_map[ N_ucs_${name}_map ] = {
EOF
for (@cp) {
print MAP " { 0x$_, 0x$map{$_} },\n";
}
print MAP <<EOF
};
EOF
}
__END__
toupper 12
tolower 13
totitle 14
+56
View File
@@ -0,0 +1,56 @@
open(MAP, "> ucs_isdigit.map");
print MAP <<EOF;
/*
File generated from UnicodeData-4.1.0.txt.
*/
EOF
for (<DATA>) {
chop;
($name, $class) = split;
@cp = ();
open(UCD, "< private/UnicodeData-4.1.0.txt");
while(<UCD>) {
chop;
@entry = split(';');
last if $entry[0] =~ m/.{5,}/;
if ($entry[2] eq $class) {
push (@cp, $entry[0]);
}
}
close UCD;
@bs = ();
$last = -1;
$seq = -1;
for my $e (@cp) {
if (++$last != hex $e) {
$seq = $e;
$last = hex $e;
push (@bs, $seq);
}
$end{$seq} = $e;
}
$nobs = @bs;
print MAP <<EOF;
#define N_ucs_${name}_map ${nobs}
static wc_map ucs_${name}_map[ N_ucs_${name}_map ] = {
EOF
for (@bs) {
print MAP " { 0x$_, 0x$end{$_} },\n";
}
print MAP <<EOF
};
EOF
}
__END__
isdigit Nd
+120
View File
@@ -0,0 +1,120 @@
static wc_map ucs_ambwidth_map[] = {
{ 0x00A1, 0x00A1 },
{ 0x00A4, 0x00A4 },
{ 0x00A7, 0x00AA },
{ 0x00AD, 0x00BF },
{ 0x00C6, 0x00C6 },
{ 0x00D0, 0x00D0 },
{ 0x00D7, 0x00D8 },
{ 0x00DE, 0x00E1 },
{ 0x00E6, 0x00ED },
{ 0x00F0, 0x00F3 },
{ 0x00F7, 0x00FE },
{ 0x0101, 0x0101 },
{ 0x0111, 0x0113 },
{ 0x011B, 0x011B },
{ 0x0126, 0x0127 },
{ 0x012B, 0x012B },
{ 0x0131, 0x0133 },
{ 0x0138, 0x0138 },
{ 0x013F, 0x0144 },
{ 0x0148, 0x014D },
{ 0x0152, 0x0153 },
{ 0x0166, 0x0167 },
{ 0x016B, 0x016B },
{ 0x01CE, 0x01DC },
{ 0x0251, 0x0251 },
{ 0x0261, 0x0261 },
{ 0x02C4, 0x02C4 },
{ 0x02C7, 0x02CD },
{ 0x02D0, 0x02D0 },
{ 0x02D8, 0x02DF },
{ 0x0300, 0x036F },
{ 0x0391, 0x03A9 },
{ 0x03B1, 0x03C9 },
{ 0x0401, 0x0401 },
{ 0x0410, 0x0451 },
{ 0x2010, 0x2010 },
{ 0x2013, 0x2019 },
{ 0x201C, 0x201D },
{ 0x2020, 0x2027 },
{ 0x2030, 0x2035 },
{ 0x203B, 0x203B },
{ 0x203E, 0x203E },
{ 0x2074, 0x2074 },
{ 0x207F, 0x2084 },
{ 0x20AC, 0x20AC },
{ 0x2103, 0x2105 },
{ 0x2109, 0x2109 },
{ 0x2113, 0x2113 },
{ 0x2116, 0x2116 },
{ 0x2121, 0x2122 },
{ 0x2126, 0x2126 },
{ 0x212B, 0x212B },
{ 0x2153, 0x2154 },
{ 0x215B, 0x216B },
{ 0x2170, 0x2179 },
{ 0x2189, 0x2189 },
{ 0x2190, 0x2199 },
{ 0x21B8, 0x21B9 },
{ 0x21D2, 0x21D4 },
{ 0x21E7, 0x21E7 },
{ 0x2200, 0x2203 },
{ 0x2207, 0x2208 },
{ 0x220B, 0x220B },
{ 0x220F, 0x2211 },
{ 0x2215, 0x2215 },
{ 0x221A, 0x221A },
{ 0x221D, 0x2220 },
{ 0x2223, 0x222E },
{ 0x2234, 0x2237 },
{ 0x223C, 0x223D },
{ 0x2248, 0x2248 },
{ 0x224C, 0x224C },
{ 0x2252, 0x2252 },
{ 0x2260, 0x2261 },
{ 0x2264, 0x2267 },
{ 0x226A, 0x226B },
{ 0x226E, 0x226F },
{ 0x2282, 0x2283 },
{ 0x2286, 0x2287 },
{ 0x2295, 0x2295 },
{ 0x2299, 0x2299 },
{ 0x22A5, 0x22A5 },
{ 0x22BF, 0x22BF },
{ 0x2312, 0x2312 },
{ 0x2460, 0x254B },
{ 0x2550, 0x2573 },
{ 0x2580, 0x258F },
{ 0x2592, 0x2595 },
{ 0x25A0, 0x25A9 },
{ 0x25B2, 0x25B3 },
{ 0x25B6, 0x25B7 },
{ 0x25BC, 0x25BD },
{ 0x25C0, 0x25C1 },
{ 0x25C6, 0x25C8 },
{ 0x25CB, 0x25CB },
{ 0x25CE, 0x25D1 },
{ 0x25E2, 0x25E5 },
{ 0x25EF, 0x25EF },
{ 0x2605, 0x2606 },
{ 0x2609, 0x2609 },
{ 0x260E, 0x260F },
{ 0x2614, 0x2615 },
{ 0x261C, 0x261E },
{ 0x2640, 0x2642 },
{ 0x2660, 0x266F },
{ 0x269E, 0x269F },
{ 0x26BE, 0x26BF },
{ 0x26C4, 0x26E3 },
{ 0x26E8, 0x26FF },
{ 0x273D, 0x273D },
{ 0x2757, 0x2757 },
{ 0x2776, 0x277F },
{ 0x2B55, 0x2B59 },
{ 0x3248, 0x324F },
{ 0xE000, 0xF8FF },
{ 0xFE00, 0xFE0F },
{ 0xFFFD, 0xFFFD },
};
#define N_ucs_ambwidth_map (sizeof(ucs_ambwidth_map) / sizeof(*ucs_ambwidth_map))

Some files were not shown because too many files have changed in this diff Show More