From 7ed32e611a35d43723a4aa10dd936a895045ae65 Mon Sep 17 00:00:00 2001 From: Roman Fomin Date: Tue, 19 Oct 2021 14:53:15 +0700 Subject: [PATCH] umapinfo: fix error reporting if token == TK_NoToken --- Source/u_scanner.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Source/u_scanner.c b/Source/u_scanner.c index 498432ee..a11744fe 100644 --- a/Source/u_scanner.c +++ b/Source/u_scanner.c @@ -472,11 +472,13 @@ boolean U_GetNextLineToken(u_scanner_t* scanner) void U_ErrorToken(u_scanner_t* s, int token) { - if (token < TK_NumSpecialTokens && s->token < TK_NumSpecialTokens) + if (token < TK_NumSpecialTokens && s->token >= TK_Identifier && s->token < TK_NumSpecialTokens) U_Error(s, "Expected %s but got %s '%s' instead.", U_TokenNames[token], U_TokenNames[(int)s->token], s->string); else if (token < TK_NumSpecialTokens && s->token >= TK_NumSpecialTokens) U_Error(s, "Expected %s but got '%c' instead.", U_TokenNames[token], s->token); - else if (token >= TK_NumSpecialTokens && s->token < TK_NumSpecialTokens) + else if (token < TK_NumSpecialTokens && s->token == TK_NoToken) + U_Error(s, "Expected %s", U_TokenNames[token]); + else if (token >= TK_NumSpecialTokens && s->token >= TK_Identifier && s->token < TK_NumSpecialTokens) U_Error(s, "Expected '%c' but got %s '%s' instead.", token, U_TokenNames[(int)s->token], s->string); else U_Error(s, "Expected '%c' but got '%c' instead.", token, s->token);