diff options
Diffstat (limited to 'debian')
-rw-r--r-- | debian/patches/020_debian.patch | 336 |
1 files changed, 257 insertions, 79 deletions
diff --git a/debian/patches/020_debian.patch b/debian/patches/020_debian.patch index 913ae4a..feac350 100644 --- a/debian/patches/020_debian.patch +++ b/debian/patches/020_debian.patch @@ -60,10 +60,38 @@ index 8f443c1..5fb6581 100755 $input = "w3m-control: GOTO_LINK"; } diff --git a/ChangeLog b/ChangeLog -index 88358ef..ba22b4c 100644 +index 88358ef..3556b40 100644 --- a/ChangeLog +++ b/ChangeLog -@@ -1,3 +1,785 @@ +@@ -1,3 +1,814 @@ ++2015-10-10 Tatsuya Kinoshita <tats@debian.org> ++ ++ * cookie.c: Remove incomplete special_domain tests. ++ Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=385702 ++ ++2015-10-04 Gaetan Bisson <bisson@archlinux.org> ++ ++ * scripts/w3mhelp.cgi.in: Do not use defined(%hash). ++ Origin: https://projects.archlinux.org/svntogit/packages.git/commit/trunk?h=packages/w3m&id=d9e0a4f0b461c9e2177cd9e64a10581386650503 ++ Bug-Arch: https://bugs.archlinux.org/task/45608 ++ ++2015-09-06 Tatsuya Kinoshita <tats@debian.org> ++ ++ * file.c: Do not use C99-style comments. ++ ++2015-09-06 David Crosby <dave@dafyddcrosby.com> ++ ++ * file.c: Mitigate issue #16 found by @kcwu. ++ * table.c: Fix stack overflow found by @kcwu. ++ Origin: https://github.com/dafyddcrosby/sw3m ++ Bug-sw3m: https://github.com/dafyddcrosby/sw3m/issues/16 ++ ++2015-08-21 Tatsuya Kinoshita <tats@debian.org> ++ ++ * doc-jp/keymap.lynx, doc/keymap.lynx: Fix unknown key. ++ Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/w3m/+bug/265144 ++ Bug: https://sourceforge.net/p/w3m/bugs/48/ ++ +2015-08-11 David Crosby <dave@dafyddcrosby.com> + + Fix resource leaks, dead assignments, divide-by-zero, and so on. @@ -171,6 +199,7 @@ index 88358ef..ba22b4c 100644 + * main.c: Fix that SGR style mouse handler has off-by-one problem. + cf. https://github.com/tats/w3m/issues/5 + Origin: https://gist.github.com/ttdoda/30c189a63d483beeb207 ++ Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/w3m/+bug/1390768 + Bug: https://sourceforge.net/p/w3m/patches/65/ + +2015-07-31 yshl <yshl@takechiyo.net> @@ -4273,7 +4302,7 @@ index 4c1bc06..c721825 100755 ac_config_files="$ac_config_files Makefile posubst po/Makefile.in scripts/Makefile scripts/dirlist.cgi scripts/w3mhelp.cgi scripts/w3mmail.cgi scripts/xface2xpm 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/win/Makefile w3mhelp-w3m_en.html w3mhelp-w3m_ja.html w3mhelp-lynx_en.html w3mhelp-lynx_ja.html" diff --git a/cookie.c b/cookie.c -index 8020f6d..8a6f447 100644 +index 8020f6d..705e277 100644 --- a/cookie.c +++ b/cookie.c @@ -22,10 +22,10 @@ static int is_saved = 1; @@ -4298,7 +4327,7 @@ index 8020f6d..8a6f447 100644 return first; } -@@ -247,7 +248,7 @@ find_cookie(ParsedURL *pu) +@@ -247,16 +248,12 @@ find_cookie(ParsedURL *pu) Strcat(tmp, Sprintf("; $Domain=\"%s\"", p1->domain->ptr)); if (p1->portl) Strcat(tmp, @@ -4307,7 +4336,16 @@ index 8020f6d..8a6f447 100644 } } return tmp; -@@ -324,7 +325,7 @@ add_cookie(ParsedURL *pu, Str name, Str value, + } + +-char *special_domain[] = { +- ".com", ".edu", ".gov", ".mil", ".net", ".org", ".int", NULL +-}; +- + int + check_avoid_wrong_number_of_dots_domain( Str domain ) + { +@@ -324,7 +321,7 @@ add_cookie(ParsedURL *pu, Str name, Str value, if (version == 0) { /* [NETSCAPE] rule */ @@ -4316,7 +4354,27 @@ index 8020f6d..8a6f447 100644 domain->ptr + domain->length, 3); if (n < 2) { -@@ -463,7 +464,7 @@ save_cookies(void) +@@ -332,19 +329,6 @@ add_cookie(ParsedURL *pu, Str name, Str value, + COOKIE_ERROR(COO_ESPECIAL); + } + } +- else if (n == 2) { +- char **sdomain; +- int ok = 0; +- for (sdomain = special_domain; !ok && *sdomain; sdomain++) { +- int offset = domain->length - strlen(*sdomain); +- if (offset >= 0 && +- strcasecmp(*sdomain, &domain->ptr[offset]) == 0) +- ok = 1; +- } +- if (!ok && ! check_avoid_wrong_number_of_dots_domain(domain)) { +- COOKIE_ERROR(COO_ESPECIAL); +- } +- } + } + else { + /* [DRAFT 12] s. 4.3.2 case 2 */ +@@ -463,7 +447,7 @@ save_cookies(void) continue; fprintf(fp, "%s\t%s\t%s\t%ld\t%s\t%s\t%d\t%d\t%s\t%s\t%s\n", parsedURL2Str(&p->url)->ptr, @@ -4325,7 +4383,7 @@ index 8020f6d..8a6f447 100644 p->domain->ptr, p->path->ptr, p->flag, p->version, str2charp(p->comment), (p->portl) ? portlist2str(p->portl)->ptr : "", -@@ -517,36 +518,36 @@ load_cookies(void) +@@ -517,36 +501,36 @@ load_cookies(void) cookie->commentURL = NULL; parseURL(readcol(&str)->ptr, &cookie->url, NULL); if (!*str) @@ -4607,6 +4665,19 @@ index 0000000..90066f7 +http://www.example.com/ABC/ + +ただし、ホスト名の部分は常に小文字に変換してから比較します。 +diff --git a/doc-jp/keymap.lynx b/doc-jp/keymap.lynx +index 869c716..e4085c8 100644 +--- a/doc-jp/keymap.lynx ++++ b/doc-jp/keymap.lynx +@@ -46,7 +46,7 @@ keymap - PREV_PAGE + keymap . RIGHT + keymap / SEARCH + keymap : MARK_URL +-keymap ; MARK_WORD ++keymap ";" MARK_WORD + keymap < SHIFT_LEFT + keymap = INFO + keymap > SHIFT_RIGHT diff --git a/doc-jp/w3m.1 b/doc-jp/w3m.1 index 89aacb6..099a803 100644 --- a/doc-jp/w3m.1 @@ -4897,6 +4968,19 @@ index 0000000..588afc4 + environmental variable. + + $ W3M_IMG2SIXEL="img2sixel -d atkinson" w3m -sixel http://... +diff --git a/doc/keymap.lynx b/doc/keymap.lynx +index 869c716..e4085c8 100644 +--- a/doc/keymap.lynx ++++ b/doc/keymap.lynx +@@ -46,7 +46,7 @@ keymap - PREV_PAGE + keymap . RIGHT + keymap / SEARCH + keymap : MARK_URL +-keymap ; MARK_WORD ++keymap ";" MARK_WORD + keymap < SHIFT_LEFT + keymap = INFO + keymap > SHIFT_RIGHT diff --git a/doc/w3m.1 b/doc/w3m.1 index 8f071c6..0762f51 100644 --- a/doc/w3m.1 @@ -5407,10 +5491,19 @@ index 8fe1215..dcc6edd 100644 QuietMessage = TRUE; fmInitialized = FALSE; diff --git a/file.c b/file.c -index 567d41e..4e8e4d3 100644 +index 567d41e..9d1dc9a 100644 --- a/file.c +++ b/file.c -@@ -47,11 +47,11 @@ static JMP_BUF AbortLoading; +@@ -26,6 +26,8 @@ + #define min(a,b) ((a) > (b) ? (b) : (a)) + #endif /* not min */ + ++#define MAX_INPUT_SIZE 80 /* TODO - max should be screen line length */ ++ + static int frame_source = 0; + + static char *guess_filename(char *file); +@@ -47,11 +49,11 @@ static JMP_BUF AbortLoading; static struct table *tables[MAX_TABLE]; static struct table_mode table_mode[MAX_TABLE]; @@ -5425,7 +5518,7 @@ index 567d41e..4e8e4d3 100644 #endif static Str cur_title; -@@ -215,7 +215,6 @@ currentLn(Buffer *buf) +@@ -215,7 +217,6 @@ currentLn(Buffer *buf) static Buffer * loadSomething(URLFile *f, @@ -5433,7 +5526,7 @@ index 567d41e..4e8e4d3 100644 Buffer *(*loadproc) (URLFile *, Buffer *), Buffer *defaultbuf) { Buffer *buf; -@@ -223,17 +222,23 @@ loadSomething(URLFile *f, +@@ -223,17 +224,23 @@ loadSomething(URLFile *f, if ((buf = loadproc(f, defaultbuf)) == NULL) return NULL; @@ -5462,7 +5555,7 @@ index 567d41e..4e8e4d3 100644 return buf; } -@@ -484,28 +489,6 @@ convertLine0(URLFile *uf, Str line, int mode) +@@ -484,28 +491,6 @@ convertLine0(URLFile *uf, Str line, int mode) return line; } @@ -5491,7 +5584,7 @@ index 567d41e..4e8e4d3 100644 int matchattr(char *p, char *attr, int len, Str *value) { -@@ -694,6 +677,7 @@ readHeader(URLFile *uf, Buffer *newBuf, int thru, ParsedURL *pu) +@@ -694,6 +679,7 @@ readHeader(URLFile *uf, Buffer *newBuf, int thru, ParsedURL *pu) #endif init_stream(&f, SCM_LOCAL, newStrStream(src)); loadHTMLstream(&f, newBuf, NULL, TRUE); @@ -5499,7 +5592,7 @@ index 567d41e..4e8e4d3 100644 for (l = newBuf->lastLine; l && l->real_linenumber; l = l->prev) l->real_linenumber = 0; -@@ -1244,6 +1228,7 @@ AuthDigestCred(struct http_auth *ha, Str uname, Str pw, ParsedURL *pu, +@@ -1244,6 +1230,7 @@ AuthDigestCred(struct http_auth *ha, Str uname, Str pw, ParsedURL *pu, unsigned char md5[MD5_DIGEST_LENGTH + 1]; Str uri = HTTPrequestURI(pu, hr); char nc[] = "00000001"; @@ -5507,7 +5600,7 @@ index 567d41e..4e8e4d3 100644 Str algorithm = qstr_unquote(get_auth_param(ha->param, "algorithm")); Str nonce = qstr_unquote(get_auth_param(ha->param, "nonce")); -@@ -1326,10 +1311,11 @@ AuthDigestCred(struct http_auth *ha, Str uname, Str pw, ParsedURL *pu, +@@ -1326,10 +1313,11 @@ AuthDigestCred(struct http_auth *ha, Str uname, Str pw, ParsedURL *pu, /* A2 = Method ":" digest-uri-value ":" H(entity-body) */ if (request && request->body) { if (request->method == FORM_METHOD_POST && request->enctype == FORM_ENCTYPE_MULTIPART) { @@ -5520,7 +5613,7 @@ index 567d41e..4e8e4d3 100644 MD5(ebody->ptr, strlen(ebody->ptr), md5); } else { -@@ -1697,13 +1683,15 @@ getLinkNumberStr(int correction) +@@ -1697,13 +1685,15 @@ getLinkNumberStr(int correction) /* * loadGeneralFile: load file to buffer */ @@ -5537,7 +5630,7 @@ index 567d41e..4e8e4d3 100644 char *volatile tpath; char *volatile t = "text/plain", *p, *volatile real_type = NULL; Buffer *volatile t_buf = NULL; -@@ -1730,7 +1718,22 @@ loadGeneralFile(char *path, ParsedURL *volatile current, char *referer, +@@ -1730,7 +1720,22 @@ loadGeneralFile(char *path, ParsedURL *volatile current, char *referer, add_auth_cookie_flag = 0; checkRedirection(NULL); @@ -5560,7 +5653,7 @@ index 567d41e..4e8e4d3 100644 TRAP_OFF; url_option.referer = referer; url_option.flag = flag; -@@ -1863,7 +1866,7 @@ loadGeneralFile(char *path, ParsedURL *volatile current, char *referer, +@@ -1863,7 +1868,7 @@ loadGeneralFile(char *path, ParsedURL *volatile current, char *referer, /* 302: Found */ /* 303: See Other */ /* 307: Temporary Redirect (HTTP/1.1) */ @@ -5569,7 +5662,7 @@ index 567d41e..4e8e4d3 100644 request = NULL; UFclose(&f); current = New(ParsedURL); -@@ -2022,7 +2025,7 @@ loadGeneralFile(char *path, ParsedURL *volatile current, char *referer, +@@ -2022,7 +2027,7 @@ loadGeneralFile(char *path, ParsedURL *volatile current, char *referer, if (f.is_cgi && (p = checkHeader(t_buf, "Location:")) != NULL && checkRedirection(&pu)) { /* document moved */ @@ -5578,7 +5671,7 @@ index 567d41e..4e8e4d3 100644 request = NULL; UFclose(&f); add_auth_cookie_flag = 0; -@@ -2123,10 +2126,6 @@ loadGeneralFile(char *path, ParsedURL *volatile current, char *referer, +@@ -2123,10 +2128,6 @@ loadGeneralFile(char *path, ParsedURL *volatile current, char *referer, if (real_type == NULL) real_type = t; proc = loadBuffer; @@ -5589,7 +5682,7 @@ index 567d41e..4e8e4d3 100644 current_content_length = 0; if ((p = checkHeader(t_buf, "Content-Length:")) != NULL) -@@ -2197,18 +2196,8 @@ loadGeneralFile(char *path, ParsedURL *volatile current, char *referer, +@@ -2197,18 +2198,8 @@ loadGeneralFile(char *path, ParsedURL *volatile current, char *referer, #endif else if (w3m_backend) ; else if (!(w3m_dump & ~DUMP_FRAME) || is_dump_text_type(t)) { @@ -5610,7 +5703,7 @@ index 567d41e..4e8e4d3 100644 } else { TRAP_OFF; -@@ -2232,36 +2221,30 @@ loadGeneralFile(char *path, ParsedURL *volatile current, char *referer, +@@ -2232,36 +2223,30 @@ loadGeneralFile(char *path, ParsedURL *volatile current, char *referer, else if (w3m_dump & DUMP_FRAME) return NULL; @@ -5661,7 +5754,7 @@ index 567d41e..4e8e4d3 100644 if (pu.label) { if (proc == loadHTMLBuffer) { Anchor *a; -@@ -2287,10 +2270,11 @@ loadGeneralFile(char *path, ParsedURL *volatile current, char *referer, +@@ -2287,10 +2272,11 @@ loadGeneralFile(char *path, ParsedURL *volatile current, char *referer, if (header_string) header_string = NULL; #ifdef USE_NNTP @@ -5675,7 +5768,7 @@ index 567d41e..4e8e4d3 100644 TRAP_OFF; return b; } -@@ -2469,6 +2453,7 @@ set_breakpoint(struct readbuffer *obuf, int tag_length) +@@ -2469,6 +2455,7 @@ set_breakpoint(struct readbuffer *obuf, int tag_length) bcopy((void *)&obuf->anchor, (void *)&obuf->bp.anchor, sizeof(obuf->anchor)); obuf->bp.img_alt = obuf->img_alt; @@ -5683,7 +5776,7 @@ index 567d41e..4e8e4d3 100644 obuf->bp.in_bold = obuf->in_bold; obuf->bp.in_italic = obuf->in_italic; obuf->bp.in_under = obuf->in_under; -@@ -2486,6 +2471,7 @@ back_to_breakpoint(struct readbuffer *obuf) +@@ -2486,6 +2473,7 @@ back_to_breakpoint(struct readbuffer *obuf) bcopy((void *)&obuf->bp.anchor, (void *)&obuf->anchor, sizeof(obuf->anchor)); obuf->img_alt = obuf->bp.img_alt; @@ -5691,7 +5784,7 @@ index 567d41e..4e8e4d3 100644 obuf->in_bold = obuf->bp.in_bold; obuf->in_italic = obuf->bp.in_italic; obuf->in_under = obuf->bp.in_under; -@@ -2729,7 +2715,7 @@ flushline(struct html_feed_environ *h_env, struct readbuffer *obuf, int indent, +@@ -2729,7 +2717,7 @@ flushline(struct html_feed_environ *h_env, struct readbuffer *obuf, int indent, Str line = obuf->line, pass = NULL; char *hidden_anchor = NULL, *hidden_img = NULL, *hidden_bold = NULL, *hidden_under = NULL, *hidden_italic = NULL, *hidden_strike = NULL, @@ -5700,7 +5793,7 @@ index 567d41e..4e8e4d3 100644 #ifdef DEBUG if (w3m_debug) { -@@ -2761,6 +2747,12 @@ flushline(struct html_feed_environ *h_env, struct readbuffer *obuf, int indent, +@@ -2761,6 +2749,12 @@ flushline(struct html_feed_environ *h_env, struct readbuffer *obuf, int indent, hidden = hidden_img; } } @@ -5713,7 +5806,7 @@ index 567d41e..4e8e4d3 100644 if (obuf->in_bold) { if ((hidden_bold = has_hidden_link(obuf, HTML_B)) != NULL) { if (!hidden || hidden_bold < hidden) -@@ -2812,6 +2804,8 @@ flushline(struct html_feed_environ *h_env, struct readbuffer *obuf, int indent, +@@ -2812,6 +2806,8 @@ flushline(struct html_feed_environ *h_env, struct readbuffer *obuf, int indent, Strcat_charp(line, "</a>"); if (obuf->img_alt && !hidden_img) Strcat_charp(line, "</img_alt>"); @@ -5722,7 +5815,7 @@ index 567d41e..4e8e4d3 100644 if (obuf->in_bold && !hidden_bold) Strcat_charp(line, "</b>"); if (obuf->in_italic && !hidden_italic) -@@ -3022,6 +3016,18 @@ flushline(struct html_feed_environ *h_env, struct readbuffer *obuf, int indent, +@@ -3022,6 +3018,18 @@ flushline(struct html_feed_environ *h_env, struct readbuffer *obuf, int indent, Strcat_charp(tmp, "\">"); push_tag(obuf, tmp->ptr, HTML_IMG_ALT); } @@ -5741,7 +5834,7 @@ index 567d41e..4e8e4d3 100644 if (!hidden_bold && obuf->in_bold) push_tag(obuf, "<B>", HTML_B); if (!hidden_italic && obuf->in_italic) -@@ -3228,7 +3234,7 @@ process_img(struct parsed_tag *tag, int width) +@@ -3228,7 +3236,7 @@ process_img(struct parsed_tag *tag, int width) if (!parsedtag_get_value(tag, ATTR_SRC, &p)) return tmp; @@ -5750,7 +5843,7 @@ index 567d41e..4e8e4d3 100644 q = NULL; parsedtag_get_value(tag, ATTR_ALT, &q); if (!pseudoInlines && (q == NULL || (*q == '\0' && ignore_null_img_alt))) -@@ -3322,12 +3328,7 @@ process_img(struct parsed_tag *tag, int width) +@@ -3322,12 +3330,7 @@ process_img(struct parsed_tag *tag, int width) Image image; ParsedURL u; @@ -5763,7 +5856,7 @@ index 567d41e..4e8e4d3 100644 image.url = parsedURL2Str(&u)->ptr; if (!uncompressed_file_type(u.file, &image.ext)) image.ext = filename_extension(u.file, TRUE); -@@ -3346,8 +3347,14 @@ process_img(struct parsed_tag *tag, int width) +@@ -3346,8 +3349,14 @@ process_img(struct parsed_tag *tag, int width) if (i < 0) i = pixel_per_line; } @@ -5780,7 +5873,7 @@ index 567d41e..4e8e4d3 100644 Strcat(tmp, Sprintf("<pre_int><img_alt hseq=\"%d\" src=\"", cur_iseq++)); pre_int = TRUE; -@@ -3378,19 +3385,21 @@ process_img(struct parsed_tag *tag, int width) +@@ -3378,19 +3387,21 @@ process_img(struct parsed_tag *tag, int width) if (i0 >= 0) Strcat(tmp, Sprintf(" height=%d", i0)); switch (align) { @@ -5810,7 +5903,7 @@ index 567d41e..4e8e4d3 100644 case ALIGN_BOTTOM: top = ni - 1; bottom = 0; -@@ -3408,7 +3417,12 @@ process_img(struct parsed_tag *tag, int width) +@@ -3408,7 +3419,12 @@ process_img(struct parsed_tag *tag, int width) } break; } @@ -5824,7 +5917,61 @@ index 567d41e..4e8e4d3 100644 if (xoffset) Strcat(tmp, Sprintf(" xoffset=%d", xoffset)); if (yoffset) -@@ -3732,6 +3746,63 @@ process_input(struct parsed_tag *tag) +@@ -3548,7 +3564,7 @@ process_anchor(struct parsed_tag *tag, char *tagbuf) + Str + process_input(struct parsed_tag *tag) + { +- int i, w, v, x, y, z, iw, ih; ++ int i = 20, v, x, y, z, iw, ih, size = 20; + char *q, *p, *r, *p2, *s; + Str tmp = NULL; + char *qq = ""; +@@ -3567,9 +3583,9 @@ process_input(struct parsed_tag *tag) + parsedtag_get_value(tag, ATTR_VALUE, &q); + r = ""; + parsedtag_get_value(tag, ATTR_NAME, &r); +- w = 20; +- parsedtag_get_value(tag, ATTR_SIZE, &w); +- i = 20; ++ parsedtag_get_value(tag, ATTR_SIZE, &size); ++ if (size > MAX_INPUT_SIZE) ++ size = MAX_INPUT_SIZE; + parsedtag_get_value(tag, ATTR_MAXLENGTH, &i); + p2 = NULL; + parsedtag_get_value(tag, ATTR_ALT, &p2); +@@ -3625,7 +3641,7 @@ process_input(struct parsed_tag *tag) + } + Strcat(tmp, Sprintf("<input_alt hseq=\"%d\" fid=\"%d\" type=%s " + "name=\"%s\" width=%d maxlength=%d value=\"%s\"", +- cur_hseq++, cur_form_id, p, html_quote(r), w, i, qq)); ++ cur_hseq++, cur_form_id, p, html_quote(r), size, i, qq)); + if (x) + Strcat_charp(tmp, " checked"); + if (y) +@@ -3670,18 +3686,18 @@ process_input(struct parsed_tag *tag) + case FORM_INPUT_PASSWORD: + i = 0; + if (q) { +- for (; i < qlen && i < w; i++) ++ for (; i < qlen && i < size; i++) + Strcat_char(tmp, '*'); + } +- for (; i < w; i++) ++ for (; i < size; i++) + Strcat_char(tmp, ' '); + break; + case FORM_INPUT_TEXT: + case FORM_INPUT_FILE: + if (q) +- Strcat(tmp, textfieldrep(Strnew_charp(q), w)); ++ Strcat(tmp, textfieldrep(Strnew_charp(q), size)); + else { +- for (i = 0; i < w; i++) ++ for (i = 0; i < size; i++) + Strcat_char(tmp, ' '); + } + break; +@@ -3732,6 +3748,63 @@ process_input(struct parsed_tag *tag) } Str @@ -5868,7 +6015,7 @@ index 567d41e..4e8e4d3 100644 + qlen = strlen(q); + } + -+ // Strcat_charp(tmp, "<pre_int>"); ++ /* Strcat_charp(tmp, "<pre_int>"); */ + Strcat(tmp, Sprintf("<input_alt hseq=\"%d\" fid=\"%d\" type=%s " + "name=\"%s\" value=\"%s\">", + cur_hseq++, cur_form_id, p, html_quote(r), qq)); @@ -5880,7 +6027,7 @@ index 567d41e..4e8e4d3 100644 +{ + Str tmp = Strnew(); + Strcat_charp(tmp, "</input_alt>"); -+ // Strcat_charp(tmp, "</pre_int>"); ++ /* Strcat_charp(tmp, "</pre_int>"); */ + return tmp; +} + @@ -5888,7 +6035,7 @@ index 567d41e..4e8e4d3 100644 process_select(struct parsed_tag *tag) { Str tmp = NULL; -@@ -4084,6 +4155,7 @@ process_form_int(struct parsed_tag *tag, int fid) +@@ -4084,6 +4157,7 @@ process_form_int(struct parsed_tag *tag, int fid) parsedtag_get_value(tag, ATTR_METHOD, &p); q = "!CURRENT_URL!"; parsedtag_get_value(tag, ATTR_ACTION, &q); @@ -5896,7 +6043,7 @@ index 567d41e..4e8e4d3 100644 r = NULL; #ifdef USE_M17N if (parsedtag_get_value(tag, ATTR_ACCEPT_CHARSET, &r)) -@@ -4284,15 +4356,15 @@ getMetaRefreshParam(char *q, Str *refresh_uri) +@@ -4284,15 +4358,15 @@ getMetaRefreshParam(char *q, Str *refresh_uri) while (*q) { if (!strncasecmp(q, "url=", 4)) { q += 4; @@ -5915,7 +6062,7 @@ index 567d41e..4e8e4d3 100644 s_tmp->length--; s_tmp->ptr[s_tmp->length] = '\0'; } -@@ -4861,7 +4933,35 @@ HTMLtagproc1(struct parsed_tag *tag, struct html_feed_environ *h_env) +@@ -4861,7 +4935,35 @@ HTMLtagproc1(struct parsed_tag *tag, struct html_feed_environ *h_env) if (i > obuf->bottom_margin) obuf->bottom_margin = i; } @@ -5951,7 +6098,7 @@ index 567d41e..4e8e4d3 100644 case HTML_TABLE: close_anchor(h_env, obuf); obuf->table_level++; -@@ -4884,6 +4984,8 @@ HTMLtagproc1(struct parsed_tag *tag, struct html_feed_environ *h_env) +@@ -4884,6 +4986,8 @@ HTMLtagproc1(struct parsed_tag *tag, struct html_feed_environ *h_env) else w = BORDER_THIN; } @@ -5960,7 +6107,7 @@ index 567d41e..4e8e4d3 100644 if (parsedtag_get_value(tag, ATTR_WIDTH, &i)) { if (obuf->table_level == 0) width = REAL_WIDTH(i, h_env->limit - envs[h_env->envc].indent); -@@ -4970,6 +5072,16 @@ HTMLtagproc1(struct parsed_tag *tag, struct html_feed_environ *h_env) +@@ -4970,6 +5074,16 @@ HTMLtagproc1(struct parsed_tag *tag, struct html_feed_environ *h_env) case HTML_INPUT: close_anchor(h_env, obuf); tmp = process_input(tag); @@ -5977,7 +6124,7 @@ index 567d41e..4e8e4d3 100644 if (tmp) HTMLlineproc1(tmp->ptr, h_env); return 1; -@@ -5067,11 +5179,10 @@ HTMLtagproc1(struct parsed_tag *tag, struct html_feed_environ *h_env) +@@ -5067,11 +5181,10 @@ HTMLtagproc1(struct parsed_tag *tag, struct html_feed_environ *h_env) } return 1; case HTML_BASE: @@ -5991,7 +6138,7 @@ index 567d41e..4e8e4d3 100644 parseURL(p, cur_baseURL, NULL); } #endif -@@ -5329,6 +5440,13 @@ HTMLlineproc2body(Buffer *buf, Str (*feed) (), int llimit) +@@ -5329,6 +5442,13 @@ HTMLlineproc2body(Buffer *buf, Str (*feed) (), int llimit) #ifdef MENU_SELECT Anchor **a_select = NULL; #endif @@ -6005,7 +6152,7 @@ index 567d41e..4e8e4d3 100644 if (out_size == 0) { out_size = LINELEN; -@@ -5523,16 +5641,17 @@ HTMLlineproc2body(Buffer *buf, Str (*feed) (), int llimit) +@@ -5523,16 +5643,17 @@ HTMLlineproc2body(Buffer *buf, Str (*feed) (), int llimit) hseq = 0; id = NULL; if (parsedtag_get_value(tag, ATTR_NAME, &id)) { @@ -6027,7 +6174,7 @@ index 567d41e..4e8e4d3 100644 parsedtag_get_value(tag, ATTR_TITLE, &s); parsedtag_get_value(tag, ATTR_ACCESSKEY, &t); parsedtag_get_value(tag, ATTR_HSEQ, &hseq); -@@ -5618,7 +5737,7 @@ HTMLlineproc2body(Buffer *buf, Str (*feed) (), int llimit) +@@ -5618,7 +5739,7 @@ HTMLlineproc2body(Buffer *buf, Str (*feed) (), int llimit) ParsedURL u; Image *image; @@ -6036,7 +6183,7 @@ index 567d41e..4e8e4d3 100644 a_img->image = image = New(Image); image->url = parsedURL2Str(&u)->ptr; if (!uncompressed_file_type(u.file, &image->ext)) -@@ -5639,7 +5758,7 @@ HTMLlineproc2body(Buffer *buf, Str (*feed) (), int llimit) +@@ -5639,7 +5760,7 @@ HTMLlineproc2body(Buffer *buf, Str (*feed) (), int llimit) image->map = q; image->ismap = ismap; image->touch = 0; @@ -6045,7 +6192,7 @@ index 567d41e..4e8e4d3 100644 IMG_FLAG_SKIP); } else if (iseq < 0) { -@@ -5689,6 +5808,21 @@ HTMLlineproc2body(Buffer *buf, Str (*feed) (), int llimit) +@@ -5689,6 +5810,21 @@ HTMLlineproc2body(Buffer *buf, Str (*feed) (), int llimit) putHmarker(buf->hmarklist, currentLn(buf), hpos, hseq - 1); } @@ -6067,7 +6214,7 @@ index 567d41e..4e8e4d3 100644 if (!form->target) form->target = buf->baseTarget; if (a_textarea && -@@ -5761,8 +5895,8 @@ HTMLlineproc2body(Buffer *buf, Str (*feed) (), int llimit) +@@ -5761,8 +5897,8 @@ HTMLlineproc2body(Buffer *buf, Str (*feed) (), int llimit) break; if (parsedtag_get_value(tag, ATTR_HREF, &p)) { MapArea *a; @@ -6078,7 +6225,7 @@ index 567d41e..4e8e4d3 100644 t = NULL; parsedtag_get_value(tag, ATTR_TARGET, &t); q = ""; -@@ -5811,11 +5945,14 @@ HTMLlineproc2body(Buffer *buf, Str (*feed) (), int llimit) +@@ -5811,11 +5947,14 @@ HTMLlineproc2body(Buffer *buf, Str (*feed) (), int llimit) break; case HTML_BASE: if (parsedtag_get_value(tag, ATTR_HREF, &p)) { @@ -6095,7 +6242,7 @@ index 567d41e..4e8e4d3 100644 } if (parsedtag_get_value(tag, ATTR_TARGET, &p)) buf->baseTarget = -@@ -5830,8 +5967,8 @@ HTMLlineproc2body(Buffer *buf, Str (*feed) (), int llimit) +@@ -5830,8 +5969,8 @@ HTMLlineproc2body(Buffer *buf, Str (*feed) (), int llimit) int refresh_interval = getMetaRefreshParam(q, &tmp); #ifdef USE_ALARM if (tmp) { @@ -6106,7 +6253,7 @@ index 567d41e..4e8e4d3 100644 buf->event = setAlarmEvent(buf->event, refresh_interval, AL_IMPLICIT_ONCE, -@@ -5844,8 +5981,8 @@ HTMLlineproc2body(Buffer *buf, Str (*feed) (), int llimit) +@@ -5844,8 +5983,8 @@ HTMLlineproc2body(Buffer *buf, Str (*feed) (), int llimit) FUNCNAME_reload, NULL); #else if (tmp && refresh_interval == 0) { @@ -6117,7 +6264,7 @@ index 567d41e..4e8e4d3 100644 pushEvent(FUNCNAME_gorURL, p); } #endif -@@ -5929,7 +6066,7 @@ HTMLlineproc2body(Buffer *buf, Str (*feed) (), int llimit) +@@ -5929,7 +6068,7 @@ HTMLlineproc2body(Buffer *buf, Str (*feed) (), int llimit) #ifdef ID_EXT id = NULL; if (parsedtag_get_value(tag, ATTR_ID, &id)) { @@ -6126,7 +6273,7 @@ index 567d41e..4e8e4d3 100644 registerName(buf, id, currentLn(buf), pos); } if (renderFrameSet && -@@ -5982,7 +6119,8 @@ addLink(Buffer *buf, struct parsed_tag *tag) +@@ -5982,7 +6121,8 @@ addLink(Buffer *buf, struct parsed_tag *tag) parsedtag_get_value(tag, ATTR_HREF, &href); if (href) @@ -6136,7 +6283,7 @@ index 567d41e..4e8e4d3 100644 parsedtag_get_value(tag, ATTR_TITLE, &title); parsedtag_get_value(tag, ATTR_TYPE, &ctype); parsedtag_get_value(tag, ATTR_REL, &rel); -@@ -6756,6 +6894,12 @@ init_henv(struct html_feed_environ *h_env, struct readbuffer *obuf, +@@ -6756,6 +6896,12 @@ init_henv(struct html_feed_environ *h_env, struct readbuffer *obuf, obuf->nobr_level = 0; bzero((void *)&obuf->anchor, sizeof(obuf->anchor)); obuf->img_alt = 0; @@ -6149,7 +6296,7 @@ index 567d41e..4e8e4d3 100644 obuf->in_bold = 0; obuf->in_italic = 0; obuf->in_under = 0; -@@ -6791,6 +6935,15 @@ completeHTMLstream(struct html_feed_environ *h_env, struct readbuffer *obuf) +@@ -6791,6 +6937,15 @@ completeHTMLstream(struct html_feed_environ *h_env, struct readbuffer *obuf) push_tag(obuf, "</img_alt>", HTML_N_IMG_ALT); obuf->img_alt = NULL; } @@ -6165,7 +6312,7 @@ index 567d41e..4e8e4d3 100644 if (obuf->in_bold) { push_tag(obuf, "</b>", HTML_N_B); obuf->in_bold = 0; -@@ -6963,8 +7116,6 @@ loadHTMLstream(URLFile *f, Buffer *newBuf, FILE * src, int internal) +@@ -6963,8 +7118,6 @@ loadHTMLstream(URLFile *f, Buffer *newBuf, FILE * src, int internal) image_flag = IMG_FLAG_AUTO; else image_flag = IMG_FLAG_SKIP; @@ -6174,7 +6321,7 @@ index 567d41e..4e8e4d3 100644 #endif if (w3m_halfload) { -@@ -6987,6 +7138,9 @@ loadHTMLstream(URLFile *f, Buffer *newBuf, FILE * src, int internal) +@@ -6987,6 +7140,9 @@ loadHTMLstream(URLFile *f, Buffer *newBuf, FILE * src, int internal) htmlenv1.f = stdout; else htmlenv1.buf = newTextLineList(); @@ -6184,7 +6331,7 @@ index 567d41e..4e8e4d3 100644 if (SETJMP(AbortLoading) != 0) { HTMLlineproc1("<br>Transfer Interrupted!<br>", &htmlenv1); -@@ -7048,18 +7202,23 @@ loadHTMLstream(URLFile *f, Buffer *newBuf, FILE * src, int internal) +@@ -7048,18 +7204,23 @@ loadHTMLstream(URLFile *f, Buffer *newBuf, FILE * src, int internal) } #endif lineBuf2 = convertLine(f, lineBuf2, HTML_MODE, &charset, doc_charset); @@ -6210,7 +6357,7 @@ index 567d41e..4e8e4d3 100644 if (htmlenv1.title) newBuf->buffername = htmlenv1.title; if (w3m_halfdump) { -@@ -7096,16 +7255,17 @@ loadHTMLString(Str page) +@@ -7096,16 +7257,17 @@ loadHTMLString(Str page) MySignalHandler(*volatile prevtrap) (SIGNAL_ARG) = NULL; Buffer *newBuf; @@ -6230,7 +6377,7 @@ index 567d41e..4e8e4d3 100644 #ifdef USE_M17N newBuf->document_charset = InnerCharset; #endif -@@ -7115,6 +7275,7 @@ loadHTMLString(Str page) +@@ -7115,6 +7277,7 @@ loadHTMLString(Str page) #endif TRAP_OFF; @@ -6238,7 +6385,7 @@ index 567d41e..4e8e4d3 100644 newBuf->topLine = newBuf->firstLine; newBuf->lastLine = newBuf->currentLine; newBuf->currentLine = newBuf->firstLine; -@@ -7207,7 +7368,7 @@ loadGopherDir(URLFile *uf, ParsedURL *pu, wc_ces * charset) +@@ -7207,7 +7370,7 @@ loadGopherDir(URLFile *uf, ParsedURL *pu, wc_ces * charset) q = Strnew_m_charp("gopher://", host->ptr, ":", port->ptr, "/", file->ptr, NULL)->ptr; Strcat_m_charp(tmp, "<a href=\"", @@ -6247,7 +6394,7 @@ index 567d41e..4e8e4d3 100644 "\">", p, html_quote(name->ptr + 1), "</a>\n", NULL); } -@@ -7243,7 +7404,6 @@ loadBuffer(URLFile *uf, Buffer *volatile newBuf) +@@ -7243,7 +7406,6 @@ loadBuffer(URLFile *uf, Buffer *volatile newBuf) if (newBuf == NULL) newBuf = newBuffer(INIT_BUFFER_WIDTH); @@ -6255,7 +6402,7 @@ index 567d41e..4e8e4d3 100644 if (SETJMP(AbortLoading) != 0) { goto _end; -@@ -7331,6 +7491,7 @@ loadImageBuffer(URLFile *uf, Buffer *newBuf) +@@ -7331,6 +7493,7 @@ loadImageBuffer(URLFile *uf, Buffer *newBuf) URLFile f; MySignalHandler(*volatile prevtrap) (SIGNAL_ARG) = NULL; struct stat st; @@ -6263,7 +6410,7 @@ index 567d41e..4e8e4d3 100644 loadImage(newBuf, IMG_FLAG_STOP); image.url = uf->url; -@@ -7338,20 +7499,18 @@ loadImageBuffer(URLFile *uf, Buffer *newBuf) +@@ -7338,20 +7501,18 @@ loadImageBuffer(URLFile *uf, Buffer *newBuf) image.width = -1; image.height = -1; image.cache = NULL; @@ -6287,7 +6434,7 @@ index 567d41e..4e8e4d3 100644 TRAP_OFF; cache->loaded = IMG_FLAG_LOADED; -@@ -7371,6 +7530,7 @@ loadImageBuffer(URLFile *uf, Buffer *newBuf) +@@ -7371,6 +7532,7 @@ loadImageBuffer(URLFile *uf, Buffer *newBuf) init_stream(&f, SCM_LOCAL, newStrStream(tmp)); loadHTMLstream(&f, newBuf, src, TRUE); @@ -6295,7 +6442,7 @@ index 567d41e..4e8e4d3 100644 if (src) fclose(src); -@@ -7580,8 +7740,11 @@ openGeneralPagerBuffer(InputStream stream) +@@ -7580,8 +7742,11 @@ openGeneralPagerBuffer(InputStream stream) #ifdef USE_M17N content_charset = 0; #endif @@ -6308,7 +6455,7 @@ index 567d41e..4e8e4d3 100644 readHeader(&uf, t_buf, TRUE, NULL); t = checkContentType(t_buf); if (t == NULL) -@@ -7609,14 +7772,13 @@ openGeneralPagerBuffer(InputStream stream) +@@ -7609,14 +7774,13 @@ openGeneralPagerBuffer(InputStream stream) #ifdef USE_IMAGE else if (activeImage && displayImage && !useExtImageViewer && !(w3m_dump & ~DUMP_FRAME) && !strncasecmp(t, "image/", 6)) { @@ -6325,7 +6472,7 @@ index 567d41e..4e8e4d3 100644 UFclose(&uf); if (buf == NULL || buf == NO_BUFFER) return buf; -@@ -7629,8 +7791,6 @@ openGeneralPagerBuffer(InputStream stream) +@@ -7629,8 +7793,6 @@ openGeneralPagerBuffer(InputStream stream) } } buf->real_type = t; @@ -6334,7 +6481,7 @@ index 567d41e..4e8e4d3 100644 return buf; } -@@ -7766,6 +7926,8 @@ save2tmp(URLFile uf, char *tmpf) +@@ -7766,6 +7928,8 @@ save2tmp(URLFile uf, char *tmpf) clen_t linelen = 0, trbyte = 0; MySignalHandler(*volatile prevtrap) (SIGNAL_ARG) = NULL; static JMP_BUF env_bak; @@ -6343,7 +6490,7 @@ index 567d41e..4e8e4d3 100644 ff = fopen(tmpf, "wb"); if (ff == NULL) { -@@ -7802,30 +7964,29 @@ save2tmp(URLFile uf, char *tmpf) +@@ -7802,30 +7966,29 @@ save2tmp(URLFile uf, char *tmpf) else #endif /* USE_NNTP */ { @@ -6386,7 +6533,7 @@ index 567d41e..4e8e4d3 100644 { Str tmpf, command; struct mailcap *mcap; -@@ -7834,7 +7995,7 @@ doExternal(URLFile uf, char *path, char *type, Buffer **bufp, +@@ -7834,7 +7997,7 @@ doExternal(URLFile uf, char *path, char *type, Buffer **bufp, char *header, *src = NULL, *ext = uf.ext; if (!(mcap = searchExtViewer(type))) @@ -6395,7 +6542,7 @@ index 567d41e..4e8e4d3 100644 if (mcap->nametemplate) { tmpf = unquote_mailcap(mcap->nametemplate, NULL, "", NULL, NULL); -@@ -7867,15 +8028,13 @@ doExternal(URLFile uf, char *path, char *type, Buffer **bufp, +@@ -7867,15 +8030,13 @@ doExternal(URLFile uf, char *path, char *type, Buffer **bufp, UFclose(&uf); myExec(command->ptr); } @@ -6413,7 +6560,7 @@ index 567d41e..4e8e4d3 100644 } } if (mcap->flags & (MAILCAP_HTMLOUTPUT | MAILCAP_COPIOUSOUTPUT)) { -@@ -7918,14 +8077,13 @@ doExternal(URLFile uf, char *path, char *type, Buffer **bufp, +@@ -7918,14 +8079,13 @@ doExternal(URLFile uf, char *path, char *type, Buffer **bufp, buf = NO_BUFFER; } if (buf && buf != NO_BUFFER) { @@ -6432,7 +6579,7 @@ index 567d41e..4e8e4d3 100644 } static int -@@ -7935,7 +8093,8 @@ _MoveFile(char *path1, char *path2) +@@ -7935,7 +8095,8 @@ _MoveFile(char *path1, char *path2) FILE *f2; int is_pipe; clen_t linelen = 0, trbyte = 0; @@ -6442,7 +6589,7 @@ index 567d41e..4e8e4d3 100644 f1 = openIS(path1); if (f1 == NULL) -@@ -7953,12 +8112,13 @@ _MoveFile(char *path1, char *path2) +@@ -7953,12 +8114,13 @@ _MoveFile(char *path1, char *path2) return -1; } current_content_length = 0; @@ -6460,7 +6607,7 @@ index 567d41e..4e8e4d3 100644 ISclose(f1); if (is_pipe) pclose(f2); -@@ -8317,21 +8477,23 @@ uncompress_stream(URLFile *uf, char **src) +@@ -8317,21 +8479,23 @@ uncompress_stream(URLFile *uf, char **src) } if (pid2 == 0) { /* child2 */ @@ -6489,7 +6636,7 @@ index 567d41e..4e8e4d3 100644 exit(0); } /* child1 */ -@@ -8378,7 +8540,7 @@ lessopen_stream(char *path) +@@ -8378,7 +8542,7 @@ lessopen_stream(char *path) } c = getc(fp); if (c == EOF) { @@ -13139,6 +13286,19 @@ index 5bee4b2..5675d09 100644 #ifdef USE_M17N if (*p & 0x80) { +diff --git a/scripts/w3mhelp.cgi.in b/scripts/w3mhelp.cgi.in +index b2fca8f..31c0049 100644 +--- a/scripts/w3mhelp.cgi.in ++++ b/scripts/w3mhelp.cgi.in +@@ -48,7 +48,7 @@ if (defined($ENV{'QUERY_STRING'})) { + } + # print "tlang=$tlang\n"; + eval {require "w3mhelp-funcdesc.$tlang.pl";}; +- if (defined(%funcdesc)) { ++ if (%funcdesc) { + $lang = $tlang; + } + } diff --git a/scripts/w3mman/w3mman.1.in b/scripts/w3mman/w3mman.1.in index 1c0361d..1b1d990 100644 --- a/scripts/w3mman/w3mman.1.in @@ -13240,9 +13400,27 @@ index f430307..2cd00f9 100644 $p =~ s@/+$@@; $PATH{$p} = 1; diff --git a/table.c b/table.c -index e1243ff..b77f0f8 100644 +index e1243ff..2a0aa8f 100644 --- a/table.c +++ b/table.c +@@ -188,7 +188,7 @@ dv2sv(double *dv, short *iv, int size) + indexarray = NewAtom_N(short, size); + edv = NewAtom_N(double, size); + for (i = 0; i < size; i++) { +- iv[i] = ceil(dv[i]); ++ iv[i] = (short) ceil(dv[i]); + edv[i] = (double)iv[i] - dv[i]; + } + +@@ -205,7 +205,7 @@ dv2sv(double *dv, short *iv, int size) + indexarray[i] = k; + } + iw = min((int)(w + 0.5), size); +- if (iw == 0) ++ if (iw <= 1) + return; + x = edv[(int)indexarray[iw - 1]]; + for (i = 0; i < size; i++) { @@ -429,7 +429,6 @@ visible_length(char *str) char *t, *r2; int amp_len = 0; |