summaryrefslogtreecommitdiff
path: root/sys/src/libregexp/regcomp.c
diff options
context:
space:
mode:
authorben <ben@cirno>2016-04-27 17:36:43 -0500
committerben <ben@cirno>2016-04-27 17:36:43 -0500
commit3bf6ef0196645fabb0d45c92462753c4554c9fd8 (patch)
tree6b8769f9cd0bd5d55f1661287aaa6a1ca39a9528 /sys/src/libregexp/regcomp.c
parent86e0099835f99de6ccc3bee33a297387993aa037 (diff)
better memory management of threads (thanks knuth)
Diffstat (limited to 'sys/src/libregexp/regcomp.c')
-rw-r--r--sys/src/libregexp/regcomp.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/sys/src/libregexp/regcomp.c b/sys/src/libregexp/regcomp.c
index bc7bfd6a5..c937ee5c9 100644
--- a/sys/src/libregexp/regcomp.c
+++ b/sys/src/libregexp/regcomp.c
@@ -190,13 +190,11 @@ regcomp1(char *regstr, int nl, int lit)
// prtree(parsetr, 0, 1);
reprog = malloc(sizeof(Reprog) +
sizeof(Reinst) * plex.instrs +
- sizeof(Rethread) * maxthr +
- sizeof(Rethread*) * maxthr);
+ sizeof(Rethread) * maxthr);
reprog->len = plex.instrs;
reprog->nthr = maxthr;
reprog->startinst = compile(parsetr, reprog, nl);
reprog->threads = (Rethread*)(reprog->startinst + reprog->len);
- reprog->thrpool = (Rethread**)(reprog->threads + reprog->nthr);
reprog->regstr = regstr;
free(plex.nodes);