X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=lib%2Fas3%2Ftokenizer.lex;h=bffdc93baa867e32018b133bcfc6aeb30f7b87e7;hb=618a86d162d32d7b64cdf872d3033a56d548b526;hp=11b116291668865d87d3c0e1da47137f214b619b;hpb=a07a14a5eafaeaea1d8881ffc364c55ab204878e;p=swftools.git diff --git a/lib/as3/tokenizer.lex b/lib/as3/tokenizer.lex index 11b1162..bffdc93 100644 --- a/lib/as3/tokenizer.lex +++ b/lib/as3/tokenizer.lex @@ -32,8 +32,9 @@ #include "files.h" int as3_pass = 0; - int as3_verbosity = 1; +unsigned int as3_tokencount = 0; + void as3_error(const char*format, ...) { char buf[1024]; @@ -246,6 +247,12 @@ static string_t string_unescape(const char*in, int l) static void handleString(char*s, int len) { + if(as3_pass < 2) { + // don't bother decoding strings in pass 1 + memset(&a3_lval, 0, sizeof(a3_lval)); + return; + } + if(s[0]=='"') { if(s[len-1]!='"') syntaxerror("String doesn't end with '\"'"); s++;len-=2; @@ -625,7 +632,8 @@ as {c();return m(KW_AS);} [+-\/*^~@$!%&\(=\[\]\{\}|?:;,<>] {c();BEGIN(REGEXPOK);return m(yytext[0]);} [\)\]] {c();BEGIN(INITIAL);return m(yytext[0]);} -. {char c1=yytext[0]; +. {/* ERROR */ + char c1=yytext[0]; char buf[128]; buf[0] = yytext[0]; int t;