]> git.xonotic.org Git - xonotic/gmqcc.git/blobdiff - parser.c
reclassify_token should only deal with tokens < TOKEN_START... should fix #113
[xonotic/gmqcc.git] / parser.c
index e92cb6e6326c82faf2822e0c421ca3fbfaa453af..cbae8d3cc68aaef87fa7ea14c42d202b379a0c56 100644 (file)
--- a/parser.c
+++ b/parser.c
@@ -1690,6 +1690,8 @@ static bool parser_close_paren(parser_t *parser, shunt *sy)
 static void parser_reclassify_token(parser_t *parser)
 {
     size_t i;
+    if (parser->tok >= TOKEN_START)
+        return;
     for (i = 0; i < operator_count; ++i) {
         if (!strcmp(parser_tokval(parser), operators[i].op)) {
             parser->tok = TOKEN_OPERATOR;
@@ -1936,7 +1938,7 @@ static bool parse_sya_operand(parser_t *parser, shunt *sy, bool with_labels)
                  * We should also consider adding correction tables for
                  * other things as well.
                  */
-                if (OPTS_OPTION_BOOL(OPTION_CORRECTION)) {
+                if (OPTS_OPTION_BOOL(OPTION_CORRECTION) && strlen(parser_tokval(parser)) <= 16) {
                     correction_t corr;
                     correct_init(&corr);