diff --git a/src/compose/parser.c b/src/compose/parser.c index 6740f21b2..4112baa16 100644 --- a/src/compose/parser.c +++ b/src/compose/parser.c @@ -527,6 +527,10 @@ parse(struct xkb_compose_table *table, struct scanner *s, enum { MAX_ERRORS = 10 }; int num_errors = 0; + /* Skip UTF-8 encoded BOM (U+FEFF) */ + /* See: https://www.unicode.org/faq/utf_bom.html#bom5 */ + scanner_str(s, "\xef\xbb\xbf", 3); + initial: production.len = 0; production.has_keysym = false; @@ -534,10 +538,6 @@ parse(struct xkb_compose_table *table, struct scanner *s, production.mods = 0; production.modmask = 0; - /* Skip UTF-8 encoded BOM (U+FEFF) */ - /* See: https://www.unicode.org/faq/utf_bom.html#bom5 */ - scanner_str(s, "\xef\xbb\xbf", 3); - /* fallthrough */ initial_eol: