vec_shrinkto(lex->tok.value, 0);
vec_push(lex->frames, m);
} while (true);
+
+ return false;
}
static int GMQCC_WARN lex_finish_string(lex_file *lex, int quote)
}
}
if (OPTS_FLAG(UTF8) && ch >= 128) {
- u8len = u8_fromchar((Uchar)ch, u8buf, sizeof(u8buf));
+ u8len = u8_fromchar((uchar_t)ch, u8buf, sizeof(u8buf));
if (!u8len)
ch = 0;
else {
else
{
if (!lex->flags.preprocessing && strlen(lex->tok.value) > 1) {
- Uchar u8char;
+ uchar_t u8char;
/* check for a valid utf8 character */
if (!OPTS_FLAG(UTF8) || !u8_analyze(lex->tok.value, NULL, NULL, &u8char, 8)) {
- if (lexwarn(lex, WARN_MULTIBYTE_CHARACTER, "multibyte character: `%s`", lex->tok.value))
+ if (lexwarn(lex, WARN_MULTIBYTE_CHARACTER,
+ ( OPTS_FLAG(UTF8) ? "invalid multibyte character sequence `%s`"
+ : "multibyte character: `%s`" ),
+ lex->tok.value))
return (lex->tok.ttype = TOKEN_ERROR);
}
else