diff options
author | Jacob Moody <moody@posixcafe.org> | 2022-07-17 17:51:11 +0000 |
---|---|---|
committer | Jacob Moody <moody@posixcafe.org> | 2022-07-17 17:51:11 +0000 |
commit | 0ec0154bc9da3c0b48f2f2cae08347129a8ec3d4 (patch) | |
tree | de865c2f18c3042f8f77bffc20e81d9dbfc67f9f /sys/src/cmd/ktrans/main.c | |
parent | 23620b2e70e9de0ce31c6f4f21926a044c5deabc (diff) |
ktrans: don't leak on conflicting jisho lines
Tidy up the hash interface to make cleanup
a bit more explicit vs non cleanup.
Diffstat (limited to 'sys/src/cmd/ktrans/main.c')
-rw-r--r-- | sys/src/cmd/ktrans/main.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/sys/src/cmd/ktrans/main.c b/sys/src/cmd/ktrans/main.c index 3757096ee..fb0cfe230 100644 --- a/sys/src/cmd/ktrans/main.c +++ b/sys/src/cmd/ktrans/main.c @@ -122,14 +122,13 @@ initmap(Map *m, int n) //confict; partial & valid input prev = m[i]; prev.leadstomore = 1; - free(hmapkey(h, buf)); } } if(s[1] == '\0'){ - hmapset(&h, strdup(buf), &prev, nil); + hmaprepl(&h, strdup(buf), &prev, nil, 1); } else { - hmapset(&h, strdup(buf), &signalmore, nil); + hmaprepl(&h, strdup(buf), &signalmore, nil, 1); } j++; } @@ -425,7 +424,7 @@ opendict(Hmap *h, char *name) kouho[i] = rest; /* key is the base pointer; overwrites clean up for us */ - hmapset(&h, p, kouho, nil); + hmaprepl(&h, p, kouho, nil, 1); } Bterm(b); return h; @@ -537,7 +536,7 @@ dotrans(Hmap *dic) p = kouho[0]; kouho[0] = kouho[i]; kouho[i] = p; - hmapset(&dic, hmapkey(dic, v), kouho, nil); + hmapupd(&dic, v, kouho); } olen = okuri = joshi = 0; |