diff options
Diffstat (limited to 'src/libhtml/build.c')
-rw-r--r-- | src/libhtml/build.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/src/libhtml/build.c b/src/libhtml/build.c index 7ce74449..b2387006 100644 --- a/src/libhtml/build.c +++ b/src/libhtml/build.c @@ -1815,7 +1815,7 @@ getitems(ItemSource* is, uchar* data, int datalen) tab = newtable(++is->ntables, aalign(tok), adimen(tok, Awidth), - aflagval(tok, Aborder), + aflagval(tok, Aborder), auintval(tok, Acellspacing, TABSP), auintval(tok, Acellpadding, TABPAD), makebackground(nil, acolorval(tok, Abgcolor, ps->curbg.color)), @@ -1916,8 +1916,8 @@ getitems(ItemSource* is, uchar* data, int datalen) flags |= TFisth; c = newtablecell(curtab->cells==nil? 1 : curtab->cells->cellid+1, auintval(tok, Arowspan, 1), - auintval(tok, Acolspan, 1), - aalign(tok), + auintval(tok, Acolspan, 1), + aalign(tok), adimen(tok, Awidth), auintval(tok, Aheight, 0), makebackground(nil, acolorval(tok, Abgcolor, tr->background.color)), @@ -2127,6 +2127,7 @@ getitems(ItemSource* is, uchar* data, int datalen) outerps = lastps(ps); ans = outerps->items->next; /* note: ans may be nil and di->kids not nil, if there's a frameset! */ + freeitem(outerps->items); outerps->items = newispacer(ISPnull); outerps->lastit = outerps->items; is->psstk = ps; @@ -2134,6 +2135,7 @@ getitems(ItemSource* is, uchar* data, int datalen) /* TODO evalscript(nil); */ ; } + freeitems(outerps->items); return_ans: if(dbgbuild) { @@ -2143,6 +2145,7 @@ return_ans: else printitems(ans, "getitems returning:"); } + _freetokens(toks, tokslen); return ans; } @@ -2442,6 +2445,9 @@ addtext(Pstate* ps, Rune* s) free(s); } } + else { + free(s); + } } else { /* not literal mode */ if((ps->curstate&IFbrk) || ps->lastit == ps->items) @@ -4434,7 +4440,7 @@ validtable(Table* t) /* only when parsing is done is t->nrow set > 0 */ if(ok && t->nrow > 0 && t->ncol > 0) { /* table is "finished" */ - for(i = 0; i < t->nrow && ok; i++) + for(i = 0; i < t->nrow && ok; i++) ok = validtablerow(t->rows+i); for(j = 0; j < t->ncol && ok; j++) ok = validtablecol(t->cols+j); |