commit a1bd6c6b7dc677a99e27cf6c1faea5e97d3fb657
parent fe12a19564f6d949ccf4ecd7262ca8cc630fa094
Author: ukai <ukai>
Date: Sun, 13 Jul 2003 16:13:28 +0000
[w3m-dev 03937] <center> in <table>
* table.c (feed_table_tag): fix <center>,</center>,<div>,</div>,
<p>,<br>,<nobr>,</nobr>,<wbr>
check_rowcol() for <img>
From: Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp>
Diffstat:
2 files changed, 19 insertions(+), 4 deletions(-)
diff --git a/ChangeLog b/ChangeLog
@@ -1,4 +1,12 @@
-2003-07-10 Fumitoshi UKAI <ukai@ukai.org>
+2003-07-14 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp>
+
+ * [w3m-dev 03937] <center> in <table>
+ * table.c (feed_table_tag): fix <center>,</center>,<div>,</div>,
+ <p>,<br>,<nobr>,</nobr>,<wbr>
+ check_rowcol() for <img>
+
+
+2003-07-10 Fumitoshi UKAI <ukai@debian.or.jp>
* w3mimg/fb/fb_img.h (get_image_size): add missing prototypes
* w3mimg/fb/fb.c (fb_clear): unused variable `j'
diff --git a/table.c b/table.c
@@ -2799,12 +2799,14 @@ feed_table_tag(struct table *tbl, char *line, struct table_mode *mode,
return TAG_ACTION_NONE;
case HTML_P:
case HTML_BR:
- case HTML_DT:
- case HTML_DD:
case HTML_CENTER:
case HTML_N_CENTER:
case HTML_DIV:
case HTML_N_DIV:
+ if (!(tbl->flag & TBL_IN_ROW))
+ break;
+ case HTML_DT:
+ case HTML_DD:
case HTML_H:
case HTML_N_H:
case HTML_LI:
@@ -2852,9 +2854,11 @@ feed_table_tag(struct table *tbl, char *line, struct table_mode *mode,
case HTML_N_UL:
feed_table_block_tag(tbl, line, mode, -1, cmd);
break;
- case HTML_PRE_INT:
case HTML_NOBR:
case HTML_WBR:
+ if (!(tbl->flag & TBL_IN_ROW))
+ break;
+ case HTML_PRE_INT:
feed_table_inline_tag(tbl, line, mode, -1);
switch (cmd) {
case HTML_NOBR:
@@ -2877,6 +2881,8 @@ feed_table_tag(struct table *tbl, char *line, struct table_mode *mode,
}
break;
case HTML_N_NOBR:
+ if (!(tbl->flag & TBL_IN_ROW))
+ break;
feed_table_inline_tag(tbl, line, mode, -1);
if (mode->nobr_level > 0)
mode->nobr_level--;
@@ -2888,6 +2894,7 @@ feed_table_tag(struct table *tbl, char *line, struct table_mode *mode,
mode->pre_mode &= ~TBLM_PRE_INT;
break;
case HTML_IMG:
+ check_rowcol(tbl, mode);
w = tbl->fixed_width[tbl->col];
if (w < 0) {
if (tbl->total_width > 0)