aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFumitoshi UKAI <ukai@debian.or.jp>2002-02-04 16:26:27 +0000
committerFumitoshi UKAI <ukai@debian.or.jp>2002-02-04 16:26:27 +0000
commit8fdd83b62ac34041dc3d73376a093197166bf640 (patch)
tree4387ee67a5fc538163ed232dea19fbd1ab44b3d2
parent[w3m-dev 02984] inline image improvements and cleanups (diff)
downloadw3m-branch-0-2-5.tar.gz
w3m-branch-0-2-5.zip
w3m 0.2.5.1 - backport from w3m/0.2.5+cvs-1.299release-0-2-5-1branch-0-2-5
Diffstat (limited to '')
-rw-r--r--ChangeLog307
-rw-r--r--NEWS11
-rw-r--r--doc-jp/README4
-rw-r--r--doc/README4
-rw-r--r--file.c728
-rw-r--r--mktable.c2
-rw-r--r--url.c2
-rw-r--r--version.c.in4
8 files changed, 150 insertions, 912 deletions
diff --git a/ChangeLog b/ChangeLog
index 82db31f..47cd3c8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,312 +1,25 @@
-2002-02-04 TSUCHIYA Masatoshi <tsuchiya@pine.kuee.kyoto-u.ac.jp>
+2002-02-05 Fumitoshi UKAI <ukai@debian.or.jp>
- * [w3m-dev 02986]
- * file.c (print_internal_information): Don't print boundaries.
- Use henv->f instead of stdout.
-
-2002-02-04 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp>
-
- * [w3m-dev 02984] inline image improvements and cleanups
- * config.h.dist (HAVE_SYMLINK) added
- * config.h.dist (HAVE_LSTAT): added
- * configure: symlink() check
- * configure: lstat() check
- * fm.h (maxLoadImage): added
- * form.c (form_write_from_file): s/HAVE_READLINK/HAVE_LSTAT/
- * image.c: include <sys/stat.h>
- * image.c (MAX_LOAD_IMAGE): default 8
- * image.c (max_load_image): deleted
- * image.c (n_load_image): added
- * image.c (showImageProgress): added
- * image.c (loadImage): check load image count
- s/HAVE_READLINK/HAVE_LSTAT/ (HAVE_SYMLINK)
- showImageProgress
- * local.c: include <sys/stat.h>
- s/HAVE_READLINK/HAVE_LSTAT/
- * rc.c (CMT_MAX_LOAD_IMAGE): added
- * rc.c (max_load_image): added
- * doc/README.img: update
- * doc-jp/README.img: update
-
- * file.c (process_img): pre_int fix
-
-2002-02-04 Fumitoshi UKAI <ukai@debian.or.jp>
+ * w3m 0.2.5.1 - backport from w3m/0.2.5+cvs-1.299
+ * version.c.in: update
+ * doc/README: version 0.2.5.1, release date
+ * doc-jp/README: ditto
+ * NEWS: update
+ (2002-02-04 Fumitoshi UKAI <ukai@debian.or.jp>)
* [w3m-dev 02985] inputAnswer() and no "ssl_forbid_method"
* file.c (inputAnswer): buf size is 80
* url.c (openSSLHandle): if old_ssl_forbid_method == ssl_forbid_method
ssl path is not modified
-2002-02-04 Fumitoshi UKAI <ukai@debian.or.jp>
-
- * [w3m-dev 02980] Re: code_to_str not found ifndef JP_CHARSET
- * backend.c (get_mime_charset_name): used only ifdef JP_CHARSET
-
-2002-02-04 Kazuhiko <kazuhiko@archi.kyoto-u.ac.jp>
-
- * [w3m-dev 02979] code_to_str not found ifndef JP_CHARSET
- * file.c (print_internal_information): ifdef JP_CHARSET
-
-2002-02-03 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp>
-
- * [w3m-dev 02967] parallel image downloading
- * fm.h (ImageCache): add touch, pid
- * image.c (getCharSize): retry fscanf
- * image.c (drawImage): retry fflush
- * image.c (MAX_LOAD_IMAGE): added, default 4
- * image.c (image_cache): change to ImageCache**
- * image.c (image_lock): added
- * image.c (load_image_handler): signal SIGUSR1
- * image.c (load_image_next): signal SIGUSR1
- * image.c (loadImage): parallel image downloading
- * image.c (getImage): initialize touch, pid
- * image.c (getImageSize): return value is TRUE or FALSE
- retry fscanf
-
-2002-02-03 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp>
-
- * [w3m-dev 02970] multiple -lnsl -lsocket
- * configure: merge bsdlib and extlib detection, use extlib only
- add ldflags to extlib
- (SYS_LIBRARIES): remove extlib
- (LOCAL_LIBRARIES): exlib only
-
-2002-02-03 TSUCHIYA Masatoshi <tsuchiya@pine.kuee.kyoto-u.ac.jp>
-
- * [w3m-dev 02964] Print data of forms when halfdump option is set
- * backend.c (print_headers): print w3m-current-url and w3m-base-url
- * backend.c (print_formlist): deleted
- * backend.c (internal_get): remove "if (buf->formlist) {}"
- * file.c (print_internal_information): added
- * file.c (loadHTMLstream): if halfdump, print_internal_information
- if w3m_backend, print_internal_information
- * fm.h (DUMP_HALFEXTRA): added
- * main.c (-halfdump_extra): added
-
-2002-02-01 Dai Sato <satodai@dog.intcul.tohoku.ac.jp>
-
+ (2002-02-01 Dai Sato <satodai@dog.intcul.tohoku.ac.jp>)
* [w3m-dev 02972] #include "config.h"
* url.c, mktable.c: fix the order of including files
-2002-02-01 Fumitoshi UKAI <ukai@debian.or.jp>
-
+ (2002-02-01 Fumitoshi UKAI <ukai@debian.or.jp>)
* [w3m-dev 02968] fix problem with Netscape-Enterprise WWW-authenticate
* file.c (findAuthentication): token is case insensitive
-2002-02-01 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp>
-
- * [w3m-dev 02961] halfdump image is not consistent
- * file.c (flushline): check f
- * file.c (do_blankline): fix blanklink conditions
-
-2002-02-01 Fumitoshi UKAI <ukai@debian.or.jp>
-
- * gcc -Wall -Werror safe
- * anchor.c (addMultirowsImg): unused variable: fi
- * display.c (redrawLineImage): unused variable: ncol
- * file.c (process_img): uninitialized variables: r2, ni, w0, i0, ismap
- unused variable: url, ext
- * file.c (loadHTMLstream): need volatile image_flag
- * image.c (image_index): int
- * image.c (getCharSize): need prototype
- * image.c (getImage): uninitialized variable: key
- return NULL
- * map.c (follow_map_menu): used only USE_IMAGE: px, py, map
- * map.c (newMapArea): used only USE_IMAGE: p, i, max
- * proto.h (addMultirowsImg): added
- * w3mimgdisplay.c (main): format string fix
- * w3mimgdisplay.c (DrawImage): need (Pixmap) cast
-
- * inflate.c: indent
-
-2002-02-01 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp>
-
- * w3m-img merge (w3m-0.2.4+cvs-1.278-img-2.2.patch.gz)
- * NEWS: w3m-img merge
- * .cvsignore: add w3mimgdisplay, w3mimgsize
- * XMakefile: add image.c to SRCS
- add image.o to OBJS
- add IMGDISPLAY, IMGSIZE
- * config.h.dist: USE_IMAGE, IMGSIZE, IMGDISPLAY
- * configure: add find_imlib
- ask use_image
- (config.h) add $imgtarget to EXT_TARGETS
- $def_use_image
- IMGSIZE, IMGDISPLAY
- * fm.h (MAX_IMAGE): added
- * fm.h (DEFAULT_PIXEL_PER_CHAR): fix for USE_IMAGE
- * fm.h (DEFAULT_PIXEL_PER_LINE): added
- * fm.h (B_REDRAW_IMAGE): added
- * fm.h (IMG_FLAG_SKIP): added
- * fm.h (IMG_FLAG_AUTO): added
- * fm.h (IMG_FLAG_START): added
- * fm.h (IMG_FLAG_STOP): added
- * fm.h (IMG_FLAG_NEXT): added
- * fm.h (IMG_FLAG_UNLOADED): added
- * fm.h (IMG_FLAG_LOADED): added
- * fm.h (IMG_FLAG_ERROR): added
- * fm.h (MapArea): added
- * fm.h (MapList): s/urls/alts/, add area
- * fm.h (ImageCache): added
- * fm.h (Image): added
- * fm.h (Anchor): add image
- * fm.h (Buffer): add imarklist, image_flag, need_reshape
- * fm.h (RG_FRAME_SRC): added
- * fm.h (ALIGN_MIDDLE): added
- * fm.h (ALIGN_TOP): added
- * fm.h (ALIGN_BOTTOM): added
- * fm.h (QuietMessage): added
- * fm.h (Imgdisplay): added
- * fm.h (Imgsize): added
- * fm.h (activeImage): added
- * fm.h (displayImage): added
- * fm.h (autoImage): added
- * fm.h (useExtImageViewer): added
- * fm.h (image_source): added
- * fm.h (view_unseenobject): change default if USE_IMAGE
- * fm.h (set_pixel_per_char): added
- * fm.h (pixel_per_line): added
- * fm.h (set_pixel_per_line): added
- * fm.h (image_scale): added
- * proto.h (dispI): added
- * proto.h (stopI): added
- * proto.h (deleteImage): added
- * proto.h (getAllImage): added
- * proto.h (loadImage): added
- * proto.h (getImage): added
- * proto.h (getImageSize): added
- * proto.h (process_img): add width arg
- * proto.h (loadImageBuffer): added
- * proto.h (follow_map_menu): add a_img arg
- * proto.h (getMapXY): added
- * proto.h (newMapArea): added
- * proto.h (touch_cursor): added
- * proto.h (cURLcode): added
- * proto.h (initImage): added
- * proto.h (termImage): added
- * proto.h (addImage): added
- * proto.h (drawImage): added
- * proto.h (clearImage): added
- * anchor.c (addMultirowsImg): added
- * buffer.c (discardBuffer): deleteImage if USE_IMAGE
- * buffer.c (reshapeBuffer): buf->need_reshape check
- * display.c (fmTerm): if activeImage, stop load image
- * display.c (fmInit): if displayImage, initImage
- * display.c (image_touch): added
- * display.c (draw_image_flag): added
- * display.c (redrawLineImage): added
- * display.c (displayBuffer): buf->need_reshape = TRUE
- mode == B_REDRAW_IMAGE
- image flag checks
- force redraw image in mode == B_REDRAW_IMAGE
- displayBuffer if need reshape
- drawImage
- * display.c (redrawNLine): redrawLineImage
- * display.c (redrawLineImage): added
- * display.c (disp_message_nsec): return immediately if QuietMessage
- * etc.c (reset_signals): ignore SIGUSR1
- * file.c (frame_source): added
- * file.c (_MoveFile): added
- * file.c (cur_baseURL): added
- * file.c (cur_document_code): added
- * file.c (cur_iseq): added
- * file.c (loadGeneralFile): fix fmInitialized and prevtrap checks
- save cur_baseURL
- image_source load
- loadImageBuffer for "image/*"
- frame_source flag
- fix b->type when proc is loadImageBuffer
- * file.c (process_img): add width arg
- parse height and width attr, align
- fix for inline-image
- * file.c (process_input): fix for form <input type="image">
- * file.c (HTMLtagproc1): pass h_env->limit to process_img()
- fix <img_alt> for inline-image
- save cur_baseURL
- * file.c (HTMLlineproc2body): fix <img_alt> for inline-image
- * file.c (loadHTMLstream): fix for inline-image
- fix fmInitialized and prevtrap checks
- save cur_document_code
- save image_flag
- * file.c (loadGopherDir): save cur_document_code
- fix fmInitialized and prevtrap checks
- * file.c (loadImageBuffer): added for inline-image
- * file.c (save2tmp): fix fmInitialized and prevtrap checks
- * frame.c (frame_download_source): set RG_FRAME_SRC flag
- image check
- * funcname.tab (DISPLAY_IMAGE): added
- * funcname.tab (STOP_IMAGE): added
- * html.c (ALST_IMG): add align, ismap
- * html.c (ALST_AREA): add shape, coords
- * html.c (ALST_IMG_ALT): add width, height, usemap, ismap, hseq,
- xoffset, yoffset, top_margin, bottom_margin
- * html.c (AttrMap): add shape, coords, ismap, xoffset, yoffset
- * html.h (ATTR_SHAPE): added
- * html.h (ATTR_COORDS): added
- * html.h (ATTR_ISMAP): added
- * html.h (ATTR_XOFFSET): added
- * html.h (ATTR_YOFFSET): added
- * html.h (ATTR_TOP_MARGIN): added
- * html.h (ATTR_BOTTOM_MARGIN): added
- * html.h (SHAPE_UNKNOWN): added
- * html.h (SHAPE_DEFAULT): added
- * html.h (SHAPE_RECT): added
- * html.h (SHAPE_CIRCLE): added
- * html.h (SHAPE_POLY): added
- * image.c: added
- * main.c (fversion): add USE_IMAGE
- * main.c (fusage): -ppl option
- * main.c (MAIN): set_pixel_per_char if ppc specified
- -ppl option
- loadImage
- * main.c (pushBuffer): deleteImage
- * main.c (quitfm): termImage
- * main.c (selBuf): deleteImage
- * main.c (followA): fix for inline-image and map area
- * main.c (query_from_followform): getMapXY()
- * main.c (setOpt): displayBuffer B_REDRAW_IMAGE
- * main.c (follow_map): fix calculate x, y
- * main.c (dispI): added
- * main.c (stopI): added
- * map.c: include <math.h>
- * map.c (inMapArea): added
- * map.c (follow_map_menu): add a_img arg to handle inline-image
- * map.c (follow_map_panel): use MapArea
- * map.c (getMapXY): added
- * map.c (newMapArea): added
- * menu.c (smChBuf): deleteImage
- * parsetagx.c (toAlign): align top, bottom, middle
- * rc.c (P_SCALE): added
- * rc.c (CMT_PIXEL_PER_LINE): added
- * rc.c (CMT_DISP_IMAGE): added
- * rc.c (CMT_AUTO_IMAGE): added
- * rc.c (CMT_EXT_IMAGE_VIEWER): added
- * rc.c (CMT_IMAGE_SCALE): added
- * rc.c (CMT_IMGDISPLAY): added
- * rc.c (CMT_IMGSIZE): added
- * rc.c (show_param): P_PIXELS
- * rc.c (set_param): P_PIXELS
- * rc.c (sync_with_option): initImage
- * rc.c (to_str): P_PIXELS
- * table.c (feed_table_tag): fix <img> for inline-image
- * tagtable.tab (image): added
- * terms.c (wgetch): retry read when EINTR or EAGAIN
- * terms.c (touch_cursor): added
- * w3mimgdisplay.c: added
- * w3mimgsize.c: added
- * doc/README.func (DISPLAY_IMAGE): added
- * doc/README.func (STOP_IMAGE): added
- * doc/README.img: added
- * doc-jp/README.func (DISPLAY_IMAGE): added
- * doc-jp/README.func (STOP_IMAGE): added
- * doc-jp/README.img: added
- * scripts/w3mhelp.cgi.in: show dispI, stopI
- * scripts/multipart/multipart.cgi.in: inline image support
-
-2002-02-01 Fumitoshi UKAI <ukai@debian.or.jp>
-
- * version.c.in: 0.2.5+cvs
-
2002-01-31 Fumitoshi UKAI <ukai@debian.or.jp>
* w3m 0.2.5
@@ -2794,4 +2507,4 @@
* release-0-2-1
* import w3m-0.2.1
-$Id: ChangeLog,v 1.299 2002/02/04 15:26:44 ukai Exp $
+$Id: ChangeLog,v 1.285.2.1 2002/02/04 16:26:27 ukai Exp $
diff --git a/NEWS b/NEWS
index f6e8091..38edead 100644
--- a/NEWS
+++ b/NEWS
@@ -1,11 +1,10 @@
-w3m 0.3?
+w3m 0.2.5.1 - 2002-02-05
-* rc: max_load_image
-* rc: display_image, auto_image, image_scale, imgdisplay, imgsize
-* func: DISPLAY_IMAGE, STOP_IMAGE
-* w3m-img merged: w3m now can display images! see doc/README.img
+* backport from w3m/0.2.5+cvs-1.299
+ - fix inputAnswer() and no "ssl_forbid_method" [w3m-dev 02985]
+ - fix SunOS 4.1.4 build problem [w3m-dev 02972]
+ - fix problem with Netscape-Enterprise WWW-authenticate [w3m-dev 02968]
-----------------------------------------------------------------
w3m 0.2.5 - 2002-01-31
* RFC2617: HTTP Digest authentication
diff --git a/doc-jp/README b/doc-jp/README
index 9fb0a2b..db64df3 100644
--- a/doc-jp/README
+++ b/doc-jp/README
@@ -1,5 +1,5 @@
- w3m: WWW wo Miru Tool version 0.2.5
- (C) Copyright by Akinori ITO January 31, 2002
+ w3m: WWW wo Miru Tool version 0.2.5.1
+ (C) Copyright by Akinori ITO February 5, 2002
1. ¤Ï¤¸¤á¤Ë
diff --git a/doc/README b/doc/README
index 3bd7e93..ee1f242 100644
--- a/doc/README
+++ b/doc/README
@@ -1,5 +1,5 @@
- w3m: WWW wo Miru Tool version 0.2.5
- (C) Copyright by Akinori ITO January 31, 2002
+ w3m: WWW wo Miru Tool version 0.2.5.1
+ (C) Copyright by Akinori ITO February 5, 2002
1. Introduction
diff --git a/file.c b/file.c
index 3ce3b46..f2c6ba1 100644
--- a/file.c
+++ b/file.c
@@ -1,4 +1,4 @@
-/* $Id: file.c,v 1.63 2002/02/04 15:26:44 ukai Exp $ */
+/* $Id: file.c,v 1.54.2.1 2002/02/04 16:26:28 ukai Exp $ */
#include "fm.h"
#include <sys/types.h>
#include "myctype.h"
@@ -25,9 +25,6 @@
#define min(a,b) ((a) > (b) ? (b) : (a))
#endif /* not min */
-static int frame_source = 0;
-
-static int _MoveFile(char *path1, char *path2);
static void uncompress_stream(URLFile *uf);
static FILE *lessopen_stream(char *path);
static Buffer *loadcmdout(char *cmd,
@@ -50,13 +47,6 @@ static JMP_BUF AbortLoading;
static struct table *tables[MAX_TABLE];
static struct table_mode table_mode[MAX_TABLE];
-#ifdef USE_IMAGE
-static ParsedURL *cur_baseURL = NULL;
-#ifdef JP_CHARSET
-static char cur_document_code;
-#endif
-#endif
-
static Str cur_select;
static Str select_str;
static int select_is_multiple;
@@ -123,9 +113,6 @@ static int form_sp = 0;
static int current_content_length;
static int cur_hseq;
-#ifdef USE_IMAGE
-static int cur_iseq;
-#endif
#define MAX_UL_LEVEL 9
#ifdef KANJI_SYMBOLS
@@ -1436,10 +1423,10 @@ loadGeneralFile(char *path, ParsedURL *volatile current, char *referer,
/* openURL failure: it means either (1) the requested URL is a directory name
* on an FTP server, or (2) is a local directory name.
*/
- if (fmInitialized)
+ if (fmInitialized && prevtrap) {
term_raw();
- if (prevtrap)
signal(SIGINT, prevtrap);
+ }
switch (f.scheme) {
case SCM_FTPDIR:
{
@@ -1514,9 +1501,10 @@ loadGeneralFile(char *path, ParsedURL *volatile current, char *referer,
/* openURL() succeeded */
if (SETJMP(AbortLoading) != 0) {
/* transfer interrupted */
- if (fmInitialized)
+ if (fmInitialized) {
term_raw();
- signal(SIGINT, prevtrap);
+ signal(SIGINT, prevtrap);
+ }
if (b)
discardBuffer(b);
UFclose(&f);
@@ -1531,9 +1519,10 @@ loadGeneralFile(char *path, ParsedURL *volatile current, char *referer,
}
if (header_string)
header_string = NULL;
- prevtrap = signal(SIGINT, KeyAbort);
- if (fmInitialized)
+ if (fmInitialized) {
+ prevtrap = signal(SIGINT, KeyAbort);
term_cbreak();
+ }
if (pu.scheme == SCM_HTTP ||
#ifdef USE_SSL
pu.scheme == SCM_HTTPS ||
@@ -1766,17 +1755,14 @@ loadGeneralFile(char *path, ParsedURL *volatile current, char *referer,
if (real_type == NULL)
real_type = t;
proc = loadBuffer;
-#ifdef USE_IMAGE
- cur_baseURL = New(ParsedURL);
- copyParsedURL(cur_baseURL, &pu);
-#endif
if (do_download) {
/* download only */
char *file;
- if (fmInitialized)
+ if (fmInitialized) {
term_raw();
- signal(SIGINT, prevtrap);
+ signal(SIGINT, prevtrap);
+ }
if (DecodeCTE && IStype(f.stream) != IST_ENCODED)
f.stream = newEncodedStream(f.stream, f.encoding);
if (pu.scheme == SCM_LOCAL)
@@ -1800,33 +1786,11 @@ loadGeneralFile(char *path, ParsedURL *volatile current, char *referer,
f.compression = CMP_NOCOMPRESS;
}
}
-#ifdef USE_IMAGE
- if (image_source) {
- Buffer *b = NULL;
- if (IStype(f.stream) != IST_ENCODED)
- f.stream = newEncodedStream(f.stream, f.encoding);
- if (save2tmp(f, image_source) == 0) {
- b = newBuffer(INIT_BUFFER_WIDTH);
- b->sourcefile = image_source;
- b->real_type = t;
- }
- if (fmInitialized)
- term_raw();
- signal(SIGINT, prevtrap);
- UFclose(&f);
- return b;
- }
-#endif
if (!strcasecmp(t, "text/html"))
proc = loadHTMLBuffer;
else if (is_plain_text_type(t))
proc = loadBuffer;
-#ifdef USE_IMAGE
- else if (activeImage && displayImage && !useExtImageViewer &&
- !w3m_dump && !strncasecmp(t, "image/", 6))
- proc = loadImageBuffer;
-#endif
#ifdef USE_GOPHER
else if (!strcasecmp(t, "gopher:directory")) {
proc = loadGopherDir;
@@ -1844,15 +1808,17 @@ loadGeneralFile(char *path, ParsedURL *volatile current, char *referer,
copyParsedURL(&b->currentURL, &pu);
}
UFclose(&f);
- if (fmInitialized)
+ if (fmInitialized) {
term_raw();
- signal(SIGINT, prevtrap);
+ signal(SIGINT, prevtrap);
+ }
return b;
}
else {
- if (fmInitialized)
+ if (fmInitialized) {
term_raw();
- signal(SIGINT, prevtrap);
+ signal(SIGINT, prevtrap);
+ }
if (pu.scheme == SCM_LOCAL) {
UFclose(&f);
doFileCopy(pu.real_file,
@@ -1886,9 +1852,7 @@ loadGeneralFile(char *path, ParsedURL *volatile current, char *referer,
t_buf->ssl_certificate = s->ptr;
}
#endif
- frame_source = flag & RG_FRAME_SRC;
b = loadSomething(&f, pu.real_file ? pu.real_file : pu.file, proc, t_buf);
- frame_source = 0;
UFclose(&f);
if (b) {
b->real_scheme = f.scheme;
@@ -1902,10 +1866,6 @@ loadGeneralFile(char *path, ParsedURL *volatile current, char *referer,
Str s = Strnew_charp(t);
b->type = s->ptr;
}
-#ifdef USE_IMAGE
- else if (proc == loadImageBuffer)
- b->type = b->real_type;
-#endif
else
b->type = "text/plain";
if (pu.label) {
@@ -1940,9 +1900,10 @@ loadGeneralFile(char *path, ParsedURL *volatile current, char *referer,
}
if (header_string)
header_string = NULL;
- if (fmInitialized)
+ if (fmInitialized) {
term_raw();
- signal(SIGINT, prevtrap);
+ signal(SIGINT, prevtrap);
+ }
return b;
}
@@ -2504,7 +2465,7 @@ flushline(struct html_feed_environ *h_env, struct readbuffer *obuf, int indent,
h_env->maxlimit = lbuf->pos;
if (buf)
pushTextLine(buf, lbuf);
- else if (f) {
+ else {
Strfputs(lbuf->line, f);
fputc('\n', f);
}
@@ -2520,16 +2481,15 @@ flushline(struct html_feed_environ *h_env, struct readbuffer *obuf, int indent,
#define APPEND(str) \
if (buf) \
appendTextLine(buf,(str),0); \
- else if (f) \
+ else \
Strfputs((str),f)
while (*p) {
q = p;
if (sloppy_parse_line(&p)) {
Strcat_charp_n(tmp, q, p - q);
- if (force == 2) {
+ if (force == 2)
APPEND(tmp);
- }
else
Strcat(tmp2, tmp);
Strclear(tmp);
@@ -2625,7 +2585,9 @@ void
do_blankline(struct html_feed_environ *h_env, struct readbuffer *obuf,
int indent, int indent_incr, int width)
{
- if (h_env->blank_lines == 0)
+ if (h_env->buf && h_env->blank_lines == 0)
+ flushline(h_env, obuf, indent, 1, width);
+ else if (h_env->f)
flushline(h_env, obuf, indent, 1, width);
}
@@ -2750,18 +2712,12 @@ restore_fonteffect(struct html_feed_environ *h_env, struct readbuffer *obuf)
push_tag(obuf, "<u>", HTML_U);
}
+
Str
-process_img(struct parsed_tag *tag, int width)
+process_img(struct parsed_tag *tag)
{
- char *p, *q, *r, *r2 = NULL, *s;
-#ifdef USE_IMAGE
- int w, i, nw, ni = 1, n, w0 = -1, i0 = -1;
- int align, xoffset, yoffset, top, bottom, ismap = 0;
- int use_image = activeImage && displayImage;
-#else
- int w, i, nw, n;
-#endif
- int pre_int = FALSE;
+ char *p, *q, *r, *r2, *s;
+ int w, i;
Str tmp = Strnew();
if (!parsedtag_get_value(tag, ATTR_SRC, &p))
@@ -2769,237 +2725,69 @@ process_img(struct parsed_tag *tag, int width)
q = NULL;
parsedtag_get_value(tag, ATTR_ALT, &q);
w = -1;
- if (parsedtag_get_value(tag, ATTR_WIDTH, &w)) {
- if (w < 0) {
- if (width > 0)
- w = (int)(-width * pixel_per_char * w / 100 + 0.5);
- else
- w = -1;
- }
-#ifdef USE_IMAGE
- if (use_image) {
- if (w > 0) {
- w = (int)(w * image_scale / 100 + 0.5);
- if (w == 0)
- w = 1;
- }
- }
-#endif
- }
-#ifdef USE_IMAGE
- if (use_image) {
- i = -1;
- if (parsedtag_get_value(tag, ATTR_HEIGHT, &i)) {
- if (i > 0) {
- i = (int)(i * image_scale / 100 + 0.5);
- if (i == 0)
- i = 1;
- }
- else {
- i = -1;
- }
- }
- align = -1;
- parsedtag_get_value(tag, ATTR_ALIGN, &align);
- ismap = 0;
- if (parsedtag_exists(tag, ATTR_ISMAP))
- ismap = 1;
- }
- else
-#endif
- parsedtag_get_value(tag, ATTR_HEIGHT, &i);
+ parsedtag_get_value(tag, ATTR_WIDTH, &w);
+ i = -1;
+ parsedtag_get_value(tag, ATTR_HEIGHT, &i);
r = NULL;
parsedtag_get_value(tag, ATTR_USEMAP, &r);
tmp = Strnew_size(128);
-#ifdef USE_IMAGE
- if (use_image) {
- switch (align) {
- case ALIGN_LEFT:
- Strcat_charp(tmp, "<div align=left>");
- break;
- case ALIGN_CENTER:
- Strcat_charp(tmp, "<div align=center>");
- break;
- case ALIGN_RIGHT:
- Strcat_charp(tmp, "<div align=right>");
- break;
- }
- }
-#endif
if (r) {
r2 = strchr(r, '#');
s = "<form_int method=internal action=map>";
process_form(parse_tag(&s, TRUE));
- Strcat(tmp, Sprintf("<input_alt fid=\"%d\" "
+ Strcat(tmp, Sprintf("<pre_int><input_alt fid=\"%d\" "
"type=hidden name=link value=\"", cur_form_id));
Strcat_charp(tmp, html_quote((r2) ? r2 + 1 : r));
Strcat(tmp, Sprintf("\"><input_alt hseq=\"%d\" fid=\"%d\" "
"type=submit no_effect=true>",
cur_hseq++, cur_form_id));
}
-#ifdef USE_IMAGE
- if (use_image) {
- w0 = w;
- i0 = i;
- if (w < 0 || i < 0) {
- Image image;
- ParsedURL u;
-
-#ifdef JP_CHARSET
- parseURL2(conv(p, InnerCode, cur_document_code)->ptr, &u,
- cur_baseURL);
-#else
- parseURL2(p, &u, cur_baseURL);
-#endif
- image.url = parsedURL2Str(&u)->ptr;
- image.ext = filename_extension(u.file, TRUE);
- image.cache = NULL;
- image.width = w;
- image.height = i;
-
- image.cache = getImage(&image, cur_baseURL, IMG_FLAG_SKIP);
- if (image.cache && image.cache->width > 0 &&
- image.cache->height > 0) {
- w = w0 = image.cache->width;
- i = i0 = image.cache->height;
- }
- if (w < 0)
- w = 8 * pixel_per_char;
- if (i < 0)
- i = pixel_per_line;
- }
- nw = (w > 3) ? (int)((w - 3) / pixel_per_char + 1) : 1;
- ni = (i > 3) ? (int)((i - 3) / pixel_per_line + 1) : 1;
- Strcat(tmp,
- Sprintf("<pre_int><img_alt hseq=\"%d\" src=\"", cur_iseq++));
- pre_int = TRUE;
- }
- else
-#endif
- {
- if (w < 0)
- w = 12 * pixel_per_char;
- nw = w ? (int)((w - 1) / pixel_per_char + 1) : 1;
- if (r) {
- Strcat_charp(tmp, "<pre_int>");
- pre_int = TRUE;
- }
- Strcat_charp(tmp, "<img_alt src=\"");
- }
- Strcat_charp(tmp, html_quote(p));
- Strcat_charp(tmp, "\"");
-#ifdef USE_IMAGE
- if (use_image) {
- if (w0 >= 0)
- Strcat(tmp, Sprintf(" width=%d", w0));
- if (i0 >= 0)
- Strcat(tmp, Sprintf(" height=%d", i0));
- switch (align) {
- case ALIGN_TOP:
- top = 0;
- bottom = ni - 1;
- yoffset = 0;
- break;
- case ALIGN_MIDDLE:
- top = ni / 2;
- bottom = top;
- if (top * 2 == ni)
- yoffset = (int)(((ni + 1) * pixel_per_line - i) / 2);
- else
- yoffset = (int)((ni * pixel_per_line - i) / 2);
- break;
- case ALIGN_BOTTOM:
- top = ni - 1;
- bottom = 0;
- yoffset = (int)(ni * pixel_per_line - i);
- break;
- default:
- top = ni - 1;
- bottom = 0;
- if (ni == 1 && ni * pixel_per_line > i)
- yoffset = 0;
- else {
- yoffset = (int)(ni * pixel_per_line - i);
- if (yoffset <= -2)
- yoffset++;
- }
- break;
- }
- xoffset = (int)((nw * pixel_per_char - w) / 2);
- if (xoffset)
- Strcat(tmp, Sprintf(" xoffset=%d", xoffset));
- if (yoffset)
- Strcat(tmp, Sprintf(" yoffset=%d", yoffset));
- if (top)
- Strcat(tmp, Sprintf(" top_margin=%d", top));
- if (bottom)
- Strcat(tmp, Sprintf(" bottom_margin=%d", bottom));
- if (r) {
- Strcat_charp(tmp, " usemap=\"");
- Strcat_charp(tmp, html_quote((r2) ? r2 + 1 : r));
- Strcat_charp(tmp, "\"");
- }
- if (ismap)
- Strcat_charp(tmp, " ismap");
- }
-#endif
- Strcat_charp(tmp, ">");
if (q != NULL && *q == '\0' && ignore_null_img_alt)
q = NULL;
+ if (q != NULL || r != NULL)
+ Strcat_charp(tmp, "<img_alt src=\"");
+ else
+ Strcat_charp(tmp, "<nobr><img_alt src=\"");
+ Strcat_charp(tmp, html_quote(p));
+ Strcat_charp(tmp, "\">");
if (q != NULL) {
- n = strlen(q);
-#ifdef USE_IMAGE
- if (use_image) {
- if (n > nw) {
- n = nw;
- Strcat_charp(tmp, html_quote(Strnew_charp_n(q, nw)->ptr));
- }
- else
- Strcat_charp(tmp, q);
- }
- else
-#endif
- Strcat_charp(tmp, q);
- goto img_end;
+ Strcat_charp(tmp, html_quote(q));
+ Strcat_charp(tmp, "</img_alt> ");
+ goto img_end2;
}
if (w > 0 && i > 0) {
/* guess what the image is! */
if (w < 32 && i < 48) {
/* must be an icon or space */
- n = 1;
if (strcasestr(p, "space") || strcasestr(p, "blank"))
- Strcat_charp(tmp, "_");
+ Strcat_charp(tmp, "_</img_alt>");
else {
if (w * i < 8 * 16)
- Strcat_charp(tmp, "*");
+ Strcat_charp(tmp, "*</img_alt>");
else {
#ifdef KANJI_SYMBOLS
- Strcat_charp(tmp, "¡ü");
- n = 2;
+ Strcat_charp(tmp, "¡ü</img_alt>");
#else /* not KANJI_SYMBOLS */
- Strcat_charp(tmp, "#");
+ Strcat_charp(tmp, "#</img_alt>");
#endif /* not KANJI_SYMBOLS */
}
}
- goto img_end;
+ goto img_end1;
}
if (w > 200 && i < 13) {
/* must be a horizontal line */
- if (!pre_int) {
- Strcat_charp(tmp, "<pre_int>");
- pre_int = TRUE;
- }
#ifndef KANJI_SYMBOLS
Strcat_charp(tmp, "<_RULE TYPE=10>");
#endif /* not KANJI_SYMBOLS */
- for (i = 0; i < nw - (HR_RULE_WIDTH - 1); i += HR_RULE_WIDTH)
+ w /= pixel_per_char;
+ for (i = 0; i < w - (HR_RULE_WIDTH - 1); i += HR_RULE_WIDTH)
Strcat_charp(tmp, HR_RULE);
#ifndef KANJI_SYMBOLS
Strcat_charp(tmp, "</_RULE>");
#endif /* not KANJI_SYMBOLS */
- n = i;
- goto img_end;
+ Strcat_charp(tmp, "</img_alt>");
+ goto img_end1;
}
}
for (q = p; *q; q++) ;
@@ -3008,44 +2796,27 @@ process_img(struct parsed_tag *tag, int width)
if (*q == '/')
q++;
Strcat_char(tmp, '[');
- n = 1;
p = q;
for (; *q; q++) {
if (!IS_ALNUM(*q) && *q != '_' && *q != '-') {
break;
}
- Strcat_char(tmp, *q);
- n++;
- if (n + 1 >= nw)
+ else if (w > 0 && !IS_ALNUM(*q)
+ && q - p + 2 > (int)(w / pixel_per_char)) {
+ Strcat_charp(tmp, "..");
break;
+ }
+ Strcat_char(tmp, *q);
}
- Strcat_char(tmp, ']');
- n++;
- img_end:
-#ifdef USE_IMAGE
- if (use_image) {
- for (; n < nw; n++)
- Strcat_char(tmp, ' ');
- }
-#endif
- Strcat_charp(tmp, "</img_alt>");
- if (pre_int)
- Strcat_charp(tmp, "</pre_int>");
+ Strcat_charp(tmp, "]</img_alt>");
+ img_end1:
+ if (r == NULL)
+ Strcat_charp(tmp, "</nobr>");
+ img_end2:
if (r) {
- Strcat_charp(tmp, "</input_alt>");
+ Strcat_charp(tmp, "</input_alt></pre_int>");
process_n_form();
}
-#ifdef USE_IMAGE
- if (use_image) {
- switch (align) {
- case ALIGN_RIGHT:
- case ALIGN_CENTER:
- case ALIGN_LEFT:
- Strcat_charp(tmp, "</div>");
- break;
- }
- }
-#endif
return tmp;
}
@@ -3067,7 +2838,8 @@ Str
process_input(struct parsed_tag *tag)
{
int i, w, v, x, y, z, iw, ih;
- char *q, *p, *r, *p2, *s;
+ char *q, *p, *r, *p2;
+ char *pi = NULL;
Str tmp;
char *qq = "";
int qlen = 0;
@@ -3156,20 +2928,6 @@ process_input(struct parsed_tag *tag)
Strcat_charp(tmp, "<u>");
break;
case FORM_INPUT_IMAGE:
- s = NULL;
- parsedtag_get_value(tag, ATTR_SRC, &s);
- if (s) {
- Strcat(tmp, Sprintf("<img src=\"%s\"", html_quote(s)));
- if (p2)
- Strcat(tmp, Sprintf(" alt=\"%s\"", html_quote(p2)));
- if (parsedtag_get_value(tag, ATTR_WIDTH, &iw))
- Strcat(tmp, Sprintf(" width=\"%d\"", iw));
- if (parsedtag_get_value(tag, ATTR_HEIGHT, &ih))
- Strcat(tmp, Sprintf(" height=\"%d\"", ih));
- Strcat_charp(tmp, ">");
- Strcat_charp(tmp, "</input_alt></pre_int>");
- return tmp;
- }
case FORM_INPUT_SUBMIT:
case FORM_INPUT_BUTTON:
case FORM_INPUT_RESET:
@@ -3195,6 +2953,23 @@ process_input(struct parsed_tag *tag)
Strcat_char(tmp, ' ');
}
break;
+ case FORM_INPUT_IMAGE:
+ parsedtag_get_value(tag, ATTR_SRC, &pi);
+ if (pi) {
+ Strcat(tmp, Sprintf("<img_alt src=\"%s\"", html_quote(pi)));
+ if (parsedtag_get_value(tag, ATTR_WIDTH, &iw))
+ Strcat(tmp, Sprintf(" width=\"%d\"", iw));
+ if (parsedtag_get_value(tag, ATTR_HEIGHT, &ih))
+ Strcat(tmp, Sprintf(" height=\"%d\"", ih));
+ Strcat_charp(tmp, ">");
+ if (p2)
+ Strcat_charp(tmp, html_quote(p2));
+ else
+ Strcat_charp(tmp, qq);
+ Strcat_charp(tmp, "</img_alt>");
+ break;
+ }
+ /* FALL THROUGH */
case FORM_INPUT_SUBMIT:
case FORM_INPUT_BUTTON:
if (p2)
@@ -4191,24 +3966,12 @@ HTMLtagproc1(struct parsed_tag *tag, struct html_feed_environ *h_env)
close_anchor(h_env, obuf);
return 1;
case HTML_IMG:
- tmp = process_img(tag, h_env->limit);
+ tmp = process_img(tag);
HTMLlineproc1(tmp->ptr, h_env);
return 1;
case HTML_IMG_ALT:
if (parsedtag_get_value(tag, ATTR_SRC, &p))
obuf->img_alt = Strnew_charp(p);
-#ifdef USE_IMAGE
- i = 0;
- if (parsedtag_get_value(tag, ATTR_TOP_MARGIN, &i)) {
- if (i > obuf->top_margin)
- obuf->top_margin = i;
- }
- i = 0;
- if (parsedtag_get_value(tag, ATTR_BOTTOM_MARGIN, &i)) {
- if (i > obuf->bottom_margin)
- obuf->bottom_margin = i;
- }
-#endif
return 0;
case HTML_N_IMG_ALT:
if (obuf->img_alt) {
@@ -4440,14 +4203,6 @@ HTMLtagproc1(struct parsed_tag *tag, struct html_feed_environ *h_env)
}
return 1;
case HTML_BASE:
-#ifdef USE_IMAGE
- p = NULL;
- if (parsedtag_get_value(tag, ATTR_HREF, &p)) {
- if (!cur_baseURL)
- cur_baseURL = New(ParsedURL);
- parseURL(p, cur_baseURL, NULL);
- }
-#endif
case HTML_MAP:
case HTML_N_MAP:
case HTML_AREA:
@@ -4539,7 +4294,7 @@ HTMLlineproc2body(Buffer *buf, Str (*feed) (), int llimit)
{
Anchor *a_href = NULL, *a_img = NULL, *a_form = NULL;
char outc[LINELEN];
- char *p, *q, *r, *s, *str;
+ char *p, *q, *r, *str;
Lineprop outp[LINELEN], mode, effect;
int pos;
int nlines;
@@ -4695,67 +4450,9 @@ HTMLlineproc2body(Buffer *buf, Str (*feed) (), int llimit)
break;
case HTML_IMG_ALT:
if (parsedtag_get_value(tag, ATTR_SRC, &p)) {
-#ifdef USE_IMAGE
- int w = -1, h = -1, iseq = 0, ismap = 0;
- int xoffset = 0, yoffset = 0, top = 0, bottom = 0;
- parsedtag_get_value(tag, ATTR_HSEQ, &iseq);
- parsedtag_get_value(tag, ATTR_WIDTH, &w);
- parsedtag_get_value(tag, ATTR_HEIGHT, &h);
- parsedtag_get_value(tag, ATTR_XOFFSET, &xoffset);
- parsedtag_get_value(tag, ATTR_YOFFSET, &yoffset);
- parsedtag_get_value(tag, ATTR_TOP_MARGIN, &top);
- parsedtag_get_value(tag, ATTR_BOTTOM_MARGIN, &bottom);
- if (parsedtag_exists(tag, ATTR_ISMAP))
- ismap = 1;
- q = NULL;
- parsedtag_get_value(tag, ATTR_USEMAP, &q);
- if (iseq > 0) {
- buf->imarklist = putHmarker(buf->imarklist,
- currentLn(buf), pos,
- iseq - 1);
- }
-#endif
p = remove_space(p);
p = url_quote_conv(p, buf->document_code);
a_img = registerImg(buf, p, currentLn(buf), pos);
-#ifdef USE_IMAGE
- a_img->hseq = iseq;
- a_img->image = NULL;
- if (iseq > 0) {
- ParsedURL u;
- Image *image;
-
- parseURL2(a_img->url, &u, cur_baseURL);
- a_img->image = image = New(Image);
- image->url = parsedURL2Str(&u)->ptr;
- image->ext = filename_extension(u.file, TRUE);
- image->cache = NULL;
- image->width = w;
- image->height = h;
- image->xoffset = xoffset;
- image->yoffset = yoffset;
- image->y = currentLn(buf) - top;
- if (image->xoffset < 0 && pos == 0)
- image->xoffset = 0;
- if (image->yoffset < 0 && image->y == 1)
- image->yoffset = 0;
- image->rows = 1 + top + bottom;
- image->map = q;
- image->ismap = ismap;
- image->touch = 0;
- image->cache = getImage(image, cur_baseURL,
- IMG_FLAG_SKIP);
- }
- else if (iseq < 0) {
- BufferPoint *po = buf->imarklist->marks - iseq - 1;
- Anchor *a = retrieveAnchor(buf->img,
- po->line, po->pos);
- if (a) {
- a_img->url = a->url;
- a_img->image = a->image;
- }
- }
-#endif
}
effect |= PE_IMAGE;
break;
@@ -4817,8 +4514,9 @@ HTMLlineproc2body(Buffer *buf, Str (*feed) (), int llimit)
if (parsedtag_get_value(tag, ATTR_NAME, &p)) {
MapList *m = New(MapList);
m->name = Strnew_charp(p);
- m->area = newGeneralList();
m->next = buf->maplist;
+ m->urls = newTextList();
+ m->alts = newTextList();
buf->maplist = m;
}
break;
@@ -4829,19 +4527,13 @@ HTMLlineproc2body(Buffer *buf, Str (*feed) (), int llimit)
if (buf->maplist == NULL) /* outside of <map>..</map> */
break;
if (parsedtag_get_value(tag, ATTR_HREF, &p)) {
- MapArea *a;
p = remove_space(p);
p = url_quote_conv(p, buf->document_code);
- q = "";
- parsedtag_get_value(tag, ATTR_ALT, &q);
- r = NULL;
- s = NULL;
-#ifdef USE_IMAGE
- parsedtag_get_value(tag, ATTR_SHAPE, &r);
- parsedtag_get_value(tag, ATTR_COORDS, &s);
-#endif
- a = newMapArea(p, q, r, s);
- pushValue(buf->maplist->area, (void *)a);
+ pushText(buf->maplist->urls, p);
+ if (parsedtag_get_value(tag, ATTR_ALT, &q))
+ pushText(buf->maplist->alts, q);
+ else
+ pushText(buf->maplist->alts, "");
}
break;
case HTML_FRAMESET:
@@ -4942,9 +4634,6 @@ HTMLlineproc2body(Buffer *buf, Str (*feed) (), int llimit)
fclose(debug);
if (n_textarea)
addMultirowsForm(buf, buf->formitem);
-#ifdef USE_IMAGE
- addMultirowsImg(buf, buf->img);
-#endif
}
void
@@ -5716,69 +5405,6 @@ completeHTMLstream(struct html_feed_environ *h_env, struct readbuffer *obuf)
}
}
-static void
-print_internal_information(struct html_feed_environ *henv)
-{
- int i;
- Str s;
- TextLineList *tl = newTextLineList();
-
- if (form_max >= 0) {
- FormList *fp;
- for (i = 0; i <= form_max; i++) {
- fp = forms[i];
- s = Sprintf("<form_int fid=\"%d\" action=\"%s\" method=\"%s\"",
- i, fp->action->ptr,
- (fp->method == FORM_METHOD_POST) ? "post"
- : ((fp->method ==
- FORM_METHOD_INTERNAL) ? "internal" : "get"));
- if (fp->target)
- Strcat(s, Sprintf(" target=\"%s\"", fp->target));
-#ifdef JP_CHARSET
- if (fp->charset)
- Strcat(s,
- Sprintf(" accept-charset=\"%s\"",
- code_to_str(fp->charset)));
-#endif
- if (fp->enctype == FORM_ENCTYPE_MULTIPART)
- Strcat_charp(s, " enctype=multipart/form-data");
- Strcat_charp(s, ">");
- pushTextLine(tl, newTextLine(s, 0));
- }
- }
-#ifdef MENU_SELECT
- if (n_select > 0) {
- FormSelectOptionItem *ip;
- for (i = 0; i < n_select; i++) {
- for (ip = select_option[i].first; ip; ip = ip->next) {
- s = Sprintf("<option_int selectnumber=%d"
- " value=\"%s\"%s>%s</option_int>",
- i,
- html_quote(ip->value ? ip->value->ptr : ip->label->
- ptr), ip->checked ? " selected" : "",
- ip->label->ptr);
- pushTextLine(tl, newTextLine(s, 0));
- }
- }
- }
-#endif /* MENU_SELECT */
- if (n_textarea > 0) {
- for (i = 0; i < n_textarea; i++) {
- s = Sprintf("<textarea_int textareanumber=%d>%s</textarea_int>",
- i, textarea_str[i]->ptr);
- pushTextLine(tl, newTextLine(s, 0));
- }
- }
-
- if (henv->buf)
- appendTextLineList(henv->buf, tl);
- else if (henv->f) {
- TextLineListItem *p;
- for (p = tl->first; p; p = p->next)
- fprintf(henv->f, "%s\n", p->ptr->line->ptr);
- }
-}
-
void
loadHTMLstream(URLFile *f, Buffer *newBuf, FILE * src, int internal)
{
@@ -5789,9 +5415,6 @@ loadHTMLstream(URLFile *f, Buffer *newBuf, FILE * src, int internal)
char code;
struct html_feed_environ htmlenv1;
struct readbuffer obuf;
-#ifdef USE_IMAGE
- int volatile image_flag;
-#endif
MySignalHandler(*volatile prevtrap) (SIGNAL_ARG) = NULL;
n_textarea = 0;
@@ -5809,17 +5432,6 @@ loadHTMLstream(URLFile *f, Buffer *newBuf, FILE * src, int internal)
forms_size = 0;
forms = NULL;
cur_hseq = 1;
-#ifdef USE_IMAGE
- cur_iseq = 1;
- if (newBuf->image_flag)
- image_flag = newBuf->image_flag;
- else if (activeImage && displayImage && autoImage)
- image_flag = IMG_FLAG_AUTO;
- else
- image_flag = IMG_FLAG_SKIP;
- if (newBuf->currentURL.file)
- cur_baseURL = baseURL(newBuf);
-#endif
if (w3m_halfload) {
newBuf->buffername = "---";
@@ -5828,9 +5440,10 @@ loadHTMLstream(URLFile *f, Buffer *newBuf, FILE * src, int internal)
#endif /* JP_CHARSET */
HTMLlineproc3(newBuf, f->stream);
w3m_halfload = FALSE;
- if (fmInitialized)
+ if (fmInitialized) {
term_raw();
- signal(SIGINT, prevtrap);
+ signal(SIGINT, prevtrap);
+ }
return;
}
@@ -5845,9 +5458,10 @@ loadHTMLstream(URLFile *f, Buffer *newBuf, FILE * src, int internal)
HTMLlineproc1("<br>Transfer Interrupted!<br>", &htmlenv1);
goto phase2;
}
- prevtrap = signal(SIGINT, KeyAbort);
- if (fmInitialized)
+ if (fmInitialized) {
+ prevtrap = signal(SIGINT, KeyAbort);
term_cbreak();
+ }
#ifdef JP_CHARSET
if (newBuf != NULL && newBuf->document_code != '\0')
@@ -5868,32 +5482,16 @@ loadHTMLstream(URLFile *f, Buffer *newBuf, FILE * src, int internal)
if (src)
Strfputs(lineBuf2, src);
linelen += lineBuf2->length;
- if (w3m_dump & DUMP_SOURCE)
- continue;
showProgress(&linelen, &trbyte);
- /*
- * if (frame_source)
- * continue;
- */
#ifdef JP_CHARSET
if (meta_charset != '\0') { /* <META> */
- if (content_charset == '\0' && UseContentCharset) {
+ if (content_charset == '\0' && UseContentCharset)
code = meta_charset;
-#ifdef USE_IMAGE
- cur_document_code = code;
-#endif
- }
meta_charset = '\0';
}
#endif
- if (!internal) {
+ if (!internal)
lineBuf2 = convertLine(f, lineBuf2, &code, HTML_MODE);
-#ifdef JP_CHARSET
-#ifdef USE_IMAGE
- cur_document_code = code;
-#endif
-#endif
- }
#ifdef USE_NNTP
if (f->scheme == SCM_NEWS) {
if (Str_news_endline(lineBuf2)) {
@@ -5912,30 +5510,24 @@ loadHTMLstream(URLFile *f, Buffer *newBuf, FILE * src, int internal)
if (htmlenv1.title)
newBuf->buffername = htmlenv1.title;
if (w3m_halfdump) {
- if (fmInitialized)
+ if (fmInitialized) {
term_raw();
- signal(SIGINT, prevtrap);
- if (w3m_dump & DUMP_HALFEXTRA)
- print_internal_information(&htmlenv1);
- return;
- }
- if (w3m_backend) {
- print_internal_information(&htmlenv1);
- backend_halfdump_buf = htmlenv1.buf;
+ signal(SIGINT, prevtrap);
+ }
return;
}
phase2:
newBuf->trbyte = trbyte + linelen;
- if (fmInitialized)
+ if (fmInitialized) {
term_raw();
- signal(SIGINT, prevtrap);
+ signal(SIGINT, prevtrap);
+ }
#ifdef JP_CHARSET
newBuf->document_code = code;
content_charset = '\0';
#endif /* JP_CHARSET */
-#ifdef USE_IMAGE
- newBuf->image_flag = image_flag;
-#endif
+ if (w3m_backend)
+ backend_halfdump_buf = htmlenv1.buf;
HTMLlineproc2(newBuf, htmlenv1.buf);
}
@@ -5953,18 +5545,15 @@ loadHTMLString(Str page)
newBuf = newBuffer(INIT_BUFFER_WIDTH);
if (SETJMP(AbortLoading) != 0) {
- if (fmInitialized)
- term_raw();
- signal(SIGINT, prevtrap);
discardBuffer(newBuf);
return NULL;
}
- prevtrap = signal(SIGINT, KeyAbort);
- if (fmInitialized)
- term_cbreak();
-
init_stream(&f, SCM_LOCAL, newStrStream(page));
+ if (fmInitialized) {
+ prevtrap = signal(SIGINT, KeyAbort);
+ term_cbreak();
+ }
if (w3m_dump & DUMP_FRAME) {
tmp = tmpfname(TMPF_SRC, ".html");
pushText(fileToDelete, tmp->ptr);
@@ -5975,9 +5564,10 @@ loadHTMLString(Str page)
loadHTMLstream(&f, newBuf, src, TRUE);
- if (fmInitialized)
+ if (fmInitialized) {
term_raw();
- signal(SIGINT, prevtrap);
+ signal(SIGINT, prevtrap);
+ }
newBuf->topLine = newBuf->firstLine;
newBuf->lastLine = newBuf->currentLine;
newBuf->currentLine = newBuf->firstLine;
@@ -6021,9 +5611,6 @@ loadGopherDir(URLFile *uf, Buffer *newBuf)
code = content_charset;
else
code = DocumentCode;
-#ifdef USE_IMAGE
- cur_document_code = code;
-#endif
content_charset = '\0';
#endif
while (1) {
@@ -6127,9 +5714,10 @@ loadBuffer(URLFile *uf, Buffer *volatile newBuf)
if (SETJMP(AbortLoading) != 0) {
goto _end;
}
- prevtrap = signal(SIGINT, KeyAbort);
- if (fmInitialized)
+ if (fmInitialized) {
+ prevtrap = signal(SIGINT, KeyAbort);
term_cbreak();
+ }
if (newBuf->sourcefile == NULL &&
(uf->scheme != SCM_LOCAL || newBuf->mailcap)) {
@@ -6155,11 +5743,7 @@ loadBuffer(URLFile *uf, Buffer *volatile newBuf)
if (src)
Strfputs(lineBuf2, src);
linelen += lineBuf2->length;
- if (w3m_dump & DUMP_SOURCE)
- continue;
showProgress(&linelen, &trbyte);
- if (frame_source)
- continue;
lineBuf2 = convertLine(uf, lineBuf2, &code, PAGER_MODE);
if (squeezeBlankLine) {
if (lineBuf2->ptr[0] == '\n' && pre_lbuf == '\n') {
@@ -6190,9 +5774,10 @@ loadBuffer(URLFile *uf, Buffer *volatile newBuf)
lineBuf2->length, nlines);
}
_end:
- if (fmInitialized)
+ if (fmInitialized) {
+ signal(SIGINT, prevtrap);
term_raw();
- signal(SIGINT, prevtrap);
+ }
newBuf->topLine = newBuf->firstLine;
newBuf->lastLine = newBuf->currentLine;
newBuf->currentLine = newBuf->firstLine;
@@ -6206,67 +5791,6 @@ loadBuffer(URLFile *uf, Buffer *volatile newBuf)
return newBuf;
}
-#ifdef USE_IMAGE
-Buffer *
-loadImageBuffer(URLFile *uf, Buffer *newBuf)
-{
- Image *image;
- ImageCache *cache;
- Str tmp, tmpf;
- FILE *src = NULL;
- URLFile f;
- MySignalHandler(*prevtrap) ();
-
- loadImage(IMG_FLAG_STOP);
- image = New(Image);
- image->url = parsedURL2Str(cur_baseURL)->ptr;
- image->ext = filename_extension(cur_baseURL->file, 1);
- image->width = -1;
- image->height = -1;
- cache = getImage(image, cur_baseURL, IMG_FLAG_AUTO);
- if (!cur_baseURL->is_nocache && cache->loaded == IMG_FLAG_LOADED)
- goto image_buffer;
-
- prevtrap = signal(SIGINT, KeyAbort);
- if (fmInitialized)
- term_cbreak();
- if (IStype(uf->stream) != IST_ENCODED)
- uf->stream = newEncodedStream(uf->stream, uf->encoding);
- if (save2tmp(*uf, cache->file) < 0) {
- if (fmInitialized)
- term_raw();
- signal(SIGINT, prevtrap);
- return NULL;
- }
- if (fmInitialized)
- term_raw();
- signal(SIGINT, prevtrap);
-
- cache->loaded = IMG_FLAG_LOADED;
- getImageSize(cache);
-
- image_buffer:
- tmp = Sprintf("<img src=\"%s\"><br><br>", html_quote(image->url));
- if (newBuf == NULL)
- newBuf = newBuffer(INIT_BUFFER_WIDTH);
- if (frame_source) {
- tmpf = tmpfname(TMPF_SRC, ".html");
- src = fopen(tmpf->ptr, "w");
- newBuf->sourcefile = tmpf->ptr;
- pushText(fileToDelete, tmpf->ptr);
- }
- init_stream(&f, SCM_LOCAL, newStrStream(tmp));
- loadHTMLstream(&f, newBuf, src, TRUE);
- if (src)
- fclose(src);
-
- newBuf->topLine = newBuf->firstLine;
- newBuf->lastLine = newBuf->currentLine;
- newBuf->currentLine = newBuf->firstLine;
- return newBuf;
-}
-#endif
-
/*
* saveBuffer: write buffer to file
*/
@@ -6641,9 +6165,10 @@ save2tmp(URLFile uf, char *tmpf)
if (SETJMP(AbortLoading) != 0) {
goto _end;
}
- prevtrap = signal(SIGINT, KeyAbort);
- if (fmInitialized)
+ if (fmInitialized) {
+ prevtrap = signal(SIGINT, KeyAbort);
term_cbreak();
+ }
check = 0;
current_content_length = 0;
#ifdef USE_NNTP
@@ -6679,9 +6204,10 @@ save2tmp(URLFile uf, char *tmpf)
}
_end:
bcopy(env_bak, AbortLoading, sizeof(JMP_BUF));
- if (fmInitialized)
+ if (fmInitialized) {
term_raw();
- signal(SIGINT, prevtrap);
+ signal(SIGINT, prevtrap);
+ }
fclose(ff);
if (uf.scheme == SCM_FTP)
FTPhalfclose(uf.stream);
diff --git a/mktable.c b/mktable.c
index d5a424c..b21d6e3 100644
--- a/mktable.c
+++ b/mktable.c
@@ -1,4 +1,4 @@
-/* $Id: mktable.c,v 1.9 2002/02/01 13:58:47 inu Exp $ */
+/* $Id: mktable.c,v 1.8.2.1 2002/02/04 16:26:29 ukai Exp $ */
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
diff --git a/url.c b/url.c
index c8bd922..4be135a 100644
--- a/url.c
+++ b/url.c
@@ -1,4 +1,4 @@
-/* $Id: url.c,v 1.41 2002/02/04 14:49:21 ukai Exp $ */
+/* $Id: url.c,v 1.39.2.1 2002/02/04 16:26:29 ukai Exp $ */
#include <stdio.h>
#include "config.h"
#include "fm.h"
diff --git a/version.c.in b/version.c.in
index ec1d748..fe41de8 100644
--- a/version.c.in
+++ b/version.c.in
@@ -1,5 +1,5 @@
-/* $Id: version.c.in,v 1.12 2002/01/31 15:54:20 ukai Exp $ */
-#define CURRENT_VERSION "w3m/0.2.5+cvs"
+/* $Id: version.c.in,v 1.11.2.1 2002/02/04 16:26:29 ukai Exp $ */
+#define CURRENT_VERSION "w3m/0.2.5.1"
#ifndef FM_H
char *w3m_version = CURRENT_VERSION;