aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKuang-che Wu <kcwu@google.com>2016-08-18 10:35:41 +0000
committerTatsuya Kinoshita <tats@debian.org>2016-08-18 10:35:41 +0000
commit67a3db378f5ee3047c158eae4342f7e3245a2ab1 (patch)
tree7b00f94279c0eb6718969908b435ab52a1804e13
parentPrevent segfault with malformed input_alt (diff)
downloadw3m-67a3db378f5ee3047c158eae4342f7e3245a2ab1.tar.gz
w3m-67a3db378f5ee3047c158eae4342f7e3245a2ab1.zip
Fix table rowspan and colspan
Origin: https://github.com/tats/w3m/pull/19 Bug-Debian: https://github.com/tats/w3m/issues/8
-rw-r--r--table.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/table.c b/table.c
index 2a0aa8f..d43fa2b 100644
--- a/table.c
+++ b/table.c
@@ -2599,12 +2599,16 @@ feed_table_tag(struct table *tbl, char *line, struct table_mode *mode,
if ((tbl->row + rowspan) >= tbl->max_rowsize)
check_row(tbl, tbl->row + rowspan);
}
+ if (rowspan < 1)
+ rowspan = 1;
if (parsedtag_get_value(tag, ATTR_COLSPAN, &colspan)) {
if ((tbl->col + colspan) >= MAXCOL) {
/* Can't expand column */
colspan = MAXCOL - tbl->col;
}
}
+ if (colspan < 1)
+ colspan = 1;
if (parsedtag_get_value(tag, ATTR_ALIGN, &i)) {
switch (i) {
case ALIGN_LEFT: