diff options
author | Fumitoshi UKAI <ukai@debian.or.jp> | 2002-11-26 07:09:09 +0000 |
---|---|---|
committer | Fumitoshi UKAI <ukai@debian.or.jp> | 2002-11-26 07:09:09 +0000 |
commit | ccb89b45335feaf9f803f3ba9cda468604416c39 (patch) | |
tree | 83d4db1397ed18e5cbfab738be4c906ce1f9df03 /table.c | |
parent | branch version (diff) | |
download | w3m-ccb89b45335feaf9f803f3ba9cda468604416c39.tar.gz w3m-ccb89b45335feaf9f803f3ba9cda468604416c39.zip |
w3m 0.3.2 branch: backport from trunk
* [w3m-dev 03371] segmentation fault by large complex table.
* table.c (bsearch_2short): indexarry char to short
(bsearch_double): ditto
(dv2sv): ditto
(table_rule_width): ditto
(set_integrated_width): ditto
(check_table_height): ditto
(feed_table_tag): ditto
* table.h (struct table_cell): index, eindex char to short
From: Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp>
Diffstat (limited to 'table.c')
-rw-r--r-- | table.c | 10 |
1 files changed, 3 insertions, 7 deletions
@@ -1,4 +1,4 @@ -/* $Id: table.c,v 1.31 2002/11/25 16:39:53 ukai Exp $ */ +/* $Id: table.c,v 1.27.4.1 2002/11/26 07:09:09 ukai Exp $ */ /* * HTML table */ @@ -1518,8 +1518,6 @@ check_table_height(struct table *t) if (cell.row[idx] == j && cell.rowspan[idx] == rowspan) c = idx; } - if (c >= MAXROWCELL) - continue; if (c >= cell.size) { if (cell.size == 0) { cell.size = max(MAXCELL, c + 1); @@ -1544,7 +1542,7 @@ check_table_height(struct table *t) cell.rowspan[cell.maxcell] = rowspan; cell.height[cell.maxcell] = 0; if (cell.maxcell > k) { - int ii; + int ii; for (ii = k; ii < cell.maxcell; ii++) cell.indexarray[ii + 1] = cell.indexarray[ii]; } @@ -2661,7 +2659,7 @@ feed_table_tag(struct table *tbl, char *line, struct table_mode *mode, cell->minimum_width[cell->maxcell] = 0; cell->fixed_width[cell->maxcell] = 0; if (cell->maxcell > k) { - int ii; + int ii; for (ii = k; ii < cell->maxcell; ii++) cell->index[ii + 1] = cell->index[ii]; } @@ -2969,11 +2967,9 @@ feed_table_tag(struct table *tbl, char *line, struct table_mode *mode, break; case HTML_SCRIPT: mode->pre_mode |= TBLM_SCRIPT; - mode->ignore_tag = Strnew_charp("</script>"); break; case HTML_STYLE: mode->pre_mode |= TBLM_STYLE; - mode->ignore_tag = Strnew_charp("</style>"); break; case HTML_N_A: table_close_anchor0(tbl, mode); |