X-Git-Url: http://de.git.xonotic.org/?p=xonotic%2Fgmqcc.git;a=blobdiff_plain;f=lexer.c;h=1a8c17a1f3e414928737277fb7a5a59b76e1e8da;hp=5ad0a90a537f558e2ba0512e79a771f8181426a6;hb=641136fee3e2f589f93ad6a7b3213b0247107303;hpb=9cc4fe1ed246e3c37af7cbd7245b0b413372f3b9 diff --git a/lexer.c b/lexer.c index 5ad0a90..1a8c17a 100644 --- a/lexer.c +++ b/lexer.c @@ -1301,6 +1301,28 @@ int lex_do(lex_file *lex) return (lex->tok.ttype = TOKEN_OPERATOR); } + /* length operator */ + if (ch == 'l') { + if ((nextch = lex_getch(lex)) == 'e') { + if ((nextch = lex_getch(lex)) == 'n') { + if ((nextch = lex_getch(lex)) == 'g') { + if ((nextch = lex_getch(lex)) == 't') { + if ((nextch = lex_getch(lex)) == 'h') { + lex_tokench(lex, 'l'); + lex_tokench(lex, 'e'); + lex_tokench(lex, 'n'); + lex_tokench(lex, 'g'); + lex_tokench(lex, 't'); + lex_tokench(lex, 'h'); + lex_endtoken(lex); + return (lex->tok.ttype = TOKEN_OPERATOR); + } else lex_ungetch(lex, nextch); + } else lex_ungetch(lex, nextch); + } else lex_ungetch(lex, nextch); + } else lex_ungetch(lex, nextch); + } else lex_ungetch(lex, nextch); + } + if (isident_start(ch)) { const char *v;