data: simplify and validate Japanese imports
This commit is contained in:
9
trie.c
9
trie.c
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user