From 0e08b8c2e485c355acc4818c1b04a81bc7e150be Mon Sep 17 00:00:00 2001 From: Peter Stephenson Date: Fri, 7 Jun 2002 14:44:21 +0000 Subject: 17299: Use reference counts in Eprogs so as to be able to free them as soon as finished with. --- Src/text.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'Src/text.c') diff --git a/Src/text.c b/Src/text.c index 44527666d..6cb734af2 100644 --- a/Src/text.c +++ b/Src/text.c @@ -117,6 +117,8 @@ getpermtext(Eprog prog, Wordcode c) if (!c) c = prog->prog; + useeprog(prog); /* mark as used */ + s.prog = prog; s.pc = c; s.strs = prog->strs; @@ -130,6 +132,7 @@ getpermtext(Eprog prog, Wordcode c) if (prog->len) gettext2(&s); *tptr = '\0'; + freeeprog(prog); /* mark as unused */ untokenize(tbuf); return tbuf; } @@ -147,6 +150,7 @@ getjobtext(Eprog prog, Wordcode c) if (!c) c = prog->prog; + useeprog(prog); /* mark as used */ s.prog = prog; s.pc = c; s.strs = prog->strs; @@ -159,6 +163,7 @@ getjobtext(Eprog prog, Wordcode c) tjob = 1; gettext2(&s); *tptr = '\0'; + freeeprog(prog); /* mark as unused */ untokenize(jbuf); return jbuf; } -- cgit 1.4.1