Merge libhyphen fix from upstream.

This commit is contained in:
wolfbeast 2018-05-15 21:37:22 +02:00 • committed by Roy Tam
commit abd21e76ce

View file

@ -438,11 +438,25 @@ for (k = 0; k < 2; k++) {
} }
if (k == 0 || nextlevel) { if (k == 0 || nextlevel) {
while (fgets (buf, sizeof(buf), f) != NULL) { while (fgets(buf, sizeof(buf), f) != NULL) {
/* discard lines that don't fit in buffer */
if (!feof(f) && strchr(buf, '\n') == NULL) {
int c;
while ((c = fgetc(f)) != '\n' && c != EOF);
/* issue warning if not a comment */
if (buf[0] != '%') {
fprintf(stderr, "Warning: skipping too long pattern (more than %lu chars)\n", sizeof(buf));
}
continue;
}
if (strncmp(buf, "NEXTLEVEL", 9) == 0) { if (strncmp(buf, "NEXTLEVEL", 9) == 0) {
nextlevel = 1; nextlevel = 1;
break; break;
} else if (buf[0] != '%') hnj_hyphen_load_line(buf, dict[k], hashtab); } else if (buf[0] != '%') {
hnj_hyphen_load_line(buf, dict[k], hashtab);
}
} }
} else if (k == 1) { } else if (k == 1) {
/* default first level: hyphen and ASCII apostrophe */ /* default first level: hyphen and ASCII apostrophe */