From c7a2c1d16c7c6f95725b84acc58284816228f325 Mon Sep 17 00:00:00 2001 From: Kristaps Dzonsons Date: Thu, 30 Jun 2011 08:05:13 +0000 Subject: Ouch: predefined strings moved into roff.c weren't being reinitalised after the first parse. Do this, but note there are more efficient ways just waiting for a table of macros. --- TODO | 3 +++ roff.c | 4 ++++ 2 files changed, 7 insertions(+) diff --git a/TODO b/TODO index 62362107..9b307f3c 100644 --- a/TODO +++ b/TODO @@ -329,6 +329,9 @@ Several areas can be cleaned up to make mandoc even faster. These are - the PDF file is HUGE: this can be reduced by using relative offsets +- instead of re-initialising the roff predefined-strings set before each + parse, create a read-only version the first time and copy it + ************************************************************************ * structural issues ************************************************************************ diff --git a/roff.c b/roff.c index 9c9bee1e..eded5d34 100644 --- a/roff.c +++ b/roff.c @@ -347,8 +347,12 @@ roff_free1(struct roff *r) void roff_reset(struct roff *r) { + int i; roff_free1(r); + + for (i = 0; i < PREDEFS_MAX; i++) + roff_setstr(r, predefs[i].name, predefs[i].str, 0); } -- cgit