[w3m-dev 03902] Re: table rendering

* table.c (check_relative_width): check n_leftcell
			check w <= r
From: Akinori Ito <aito@fw.ipsj.or.jp>
This commit is contained in:
Fumitoshi UKAI
2003-05-14 16:01:32 +00:00
parent 568babfea9
commit 589b0bde0a
2 changed files with 18 additions and 4 deletions

View File

@@ -1,3 +1,9 @@
2003-05-15 Akinori Ito <aito@fw.ipsj.or.jp>
* [w3m-dev 03902] Re: table rendering
* table.c (check_relative_width): check n_leftcell
check w <= r
2003-05-14 ABE Yuji <cbo46560@pop12.odn.ne.jp>
* [w3m-dev 03901] body with status-code 401
@@ -7838,4 +7844,4 @@ a * [w3m-dev 03276] compile error on EWS4800
* release-0-2-1
* import w3m-0.2.1
$Id: ChangeLog,v 1.839 2003/05/13 17:38:47 ukai Exp $
$Id: ChangeLog,v 1.840 2003/05/14 16:01:32 ukai Exp $

14
table.c
View File

@@ -1,4 +1,4 @@
/* $Id: table.c,v 1.43 2003/05/13 17:20:33 ukai Exp $ */
/* $Id: table.c,v 1.44 2003/05/14 16:01:32 ukai Exp $ */
/*
* HTML table
*/
@@ -3525,10 +3525,18 @@ check_relative_width(struct table *t, int maxwidth)
else
n_leftcell++;
}
if (w < r || (w == r && n_leftcell > 0)) {
cell->fixed_width[i] = -100 * r;
if (n_leftcell == 0) {
/* w must be identical to r */
if (w != r)
cell->fixed_width[i] = -100*r;
}
else {
if (w <= r) {
/* make room for the left(width-unspecified) cell */
/* the next formula is an estimation of required width */
w = r*cell->colspan[i]/(cell->colspan[i]-n_leftcell);
cell->fixed_width[i] = -100*w;
}
for (j = 0; j < cell->colspan[i]; j++) {
if (rcolwidth[j + k] == 0)
rcolwidth[j + k] = (w - r) / n_leftcell;