On 2/26/08, Thomas Dickey <[EMAIL PROTECTED]> wrote:
> I looked into this a little last night, and see that it's likely a
> problem comparing signed/unsigned values somewhere. I made a workaround
> which is in the lynx-patch in ftp://invisible-island.net/temp/
> diff -Nur lynx2-8-7 lynx2-8-7Y
Please recheck this patch.
Files lynx2-8-7/src/.TRSTable.c.swp and lynx2-8-7Y/src/.TRSTable.c.swp differ
diff -Nur lynx2-8-7/src/TRSTable.c lynx2-8-7Y/src/TRSTable.c
--- lynx2-8-7/src/TRSTable.c 2005-10-17 02:17:20.000000000 +0200
+++ lynx2-8-7Y/src/TRSTable.c 2008-02-26 17:49:58.000000000 +0100
@@ -957,6 +957,20 @@
int growby;
int i;
+ if (colspan > TRST_MAXCOLSPAN) {
+ CTRACE2(TRACE_TRST,
+ (tfp,
+ "TRST:*** COLSPAN=%d is too large, ignored!\n",
+ colspan));
+ return -1;
+ }
+ if (rowspan > TRST_MAXROWSPAN) {
+ CTRACE2(TRACE_TRST,
+ (tfp,
+ "TRST:*** ROWSPAN=%d is too large, ignored!\n",
+ rowspan));
+ return -1;
+ }
if (me->nrows <= 0)
return -1; /* must already have at least one row */
@@ -1223,7 +1237,7 @@
me->cells[me->ncells - 1].colspan : 1;
if (ncolinfo == 0 || me->ncells + last_colspan > ncolinfo) {
- colspan = HTMAX(TRST_MAXCOLSPAN,
+ colspan = HTMIN(TRST_MAXCOLSPAN, /* this have more sense to me */
ncols_sofar - (me->ncells + last_colspan - 1));
} else {
for (i = me->ncells + last_colspan - 1; i < ncolinfo - 1; i++)
@@ -1231,6 +1245,9 @@
break;
colspan = i - (me->ncells + last_colspan - 2);
}
+ CTRACE2(TRACE_TRST,
+ (tfp, "TRST:get_remaining_colspan; colspan = %d\n",
+ colspan));
return colspan;
}
_______________________________________________
Lynx-dev mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/lynx-dev