summaryrefslogtreecommitdiffstats
path: root/src/cmd/mk/symtab.c
diff options
context:
space:
mode:
authorrsc <devnull@localhost>2005-01-15 20:54:41 +0000
committerrsc <devnull@localhost>2005-01-15 20:54:41 +0000
commit3300f9cd89202e417dee8f1799e88f955d75ac89 (patch)
treecc97f4b001e8bb1da1d29e147085e452be39c68b /src/cmd/mk/symtab.c
parent5ad21e86207dd42295733010dd448b51a614b611 (diff)
downloadplan9port-3300f9cd89202e417dee8f1799e88f955d75ac89.tar.gz
plan9port-3300f9cd89202e417dee8f1799e88f955d75ac89.zip
Long-standing bug in syminit, tickled by placing
initshell before syminit. Don't understand why syminit exists at all.
Diffstat (limited to 'src/cmd/mk/symtab.c')
-rw-r--r--src/cmd/mk/symtab.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/cmd/mk/symtab.c b/src/cmd/mk/symtab.c
index 6f7b8886..06a4d146 100644
--- a/src/cmd/mk/symtab.c
+++ b/src/cmd/mk/symtab.c
@@ -7,11 +7,13 @@ static Symtab *hash[NHASH];
void
syminit(void)
{
- Symtab **s, *ss;
+ Symtab **s, *ss, *next;
for(s = hash; s < &hash[NHASH]; s++){
- for(ss = *s; ss; ss = ss->next)
+ for(ss = *s; ss; ss = next){
+ next = ss->next;
free((char *)ss);
+ }
*s = 0;
}
}