data: simplify and validate Japanese imports

This commit is contained in:
2026-08-12 17:32:28 +09:00
parent a8a6c3b455
commit 8d68e00f2b
11 changed files with 93 additions and 189 deletions

9
trie.c
View File

@@ -80,18 +80,23 @@ trieopen(char *path)
vlen = strlen(line);
if(vlen > 0 && line[vlen-1] == '\r')
line[--vlen] = '\0';
if(line[0] == '\0'){
if(line[0] == '\0' || line[0] == ';'){
free(line);
continue;
}
tab = strchr(line, '\t');
if(tab == nil || tab[1] == '\0')
if(tab == nil || tab == line || tab[1] == '\0' ||
strchr(tab+1, '\t') != nil)
die("malformed map: %s", path);
*tab = '\0';
key = line;
klen = tab - line;
if(utflen(key) > Maxrunes)
die("map key too long: %s", path);
val = tab + 1;
vlen = strlen(val);
if(utflen(val) > Maxrunes)
die("map value too long: %s", path);
insert(t, key, klen, val, vlen);
free(line);
}