]> git.xonotic.org Git - xonotic/gmqcc.git/blobdiff - lexer.c
conversion warnings and sanity check
[xonotic/gmqcc.git] / lexer.c
diff --git a/lexer.c b/lexer.c
index e4328bec26f37b6b391019cfc99aebdf282fcf1b..c37678ec0d0c7f1baca44e322aeb6563acbb4891 100644 (file)
--- a/lexer.c
+++ b/lexer.c
@@ -23,7 +23,7 @@ static size_t num_keywords_qc = sizeof(keywords_qc) / sizeof(keywords_qc[0]);
 /* For fte/gmgqcc */
 static const char *keywords_fg[] = {
     "var",
-    "switch",
+    "switch", "case", "default",
     "struct", "union",
     "break", "continue"
 };
@@ -980,9 +980,9 @@ int lex_do(lex_file *lex)
 
         if (!strcmp(v, "flush"))
         {
-            size_t frame;
-            for (frame = 0; frame < vec_size(lex->frames); ++frame)
-                mem_d(lex->frames[frame].name);
+            size_t fi;
+            for (fi = 0; fi < vec_size(lex->frames); ++fi)
+                mem_d(lex->frames[fi].name);
             vec_free(lex->frames);
             /* skip line (fteqcc does it too) */
             ch = lex_getch(lex);
@@ -1021,6 +1021,8 @@ int lex_do(lex_file *lex)
     {
         case '[':
         case '(':
+        case ':':
+        case '?':
             lex_tokench(lex, ch);
             lex_endtoken(lex);
             if (lex->flags.noops)
@@ -1029,7 +1031,6 @@ int lex_do(lex_file *lex)
                 return (lex->tok.ttype = TOKEN_OPERATOR);
         case ')':
         case ';':
-        case ':':
         case '{':
         case '}':
         case ']':