X-Git-Url: http://git.asbjorn.biz/?p=swftools.git;a=blobdiff_plain;f=src%2Fparser.lex;h=fb0fa621cc593c0e1aa81e7153fa91a7dc7c5fd8;hp=b22d95c92b9d859a7ff0ff1aa7480265f9f6f30e;hb=a8db3c675450432aa07f9817d3688ab33651fed9;hpb=d54d036a50a094227ced110a9adbd5c53697ce37 diff --git a/src/parser.lex b/src/parser.lex index b22d95c..fb0fa62 100644 --- a/src/parser.lex +++ b/src/parser.lex @@ -326,10 +326,19 @@ void freeTokens(struct token_t*file) struct token_t* generateTokens(char*filename) { - FILE*fi = fopen(filename, "rb"); + FILE*fi; int t; struct token_t*result; int num; + + if(!filename) + return 0; + + if(!strcmp(filename,"-")) + fi = stdin; + else + fi = fopen(filename, "rb"); + if(!fi) { printf("Couldn't find file %s\n", filename); return 0; @@ -359,7 +368,8 @@ struct token_t* generateTokens(char*filename) result[t].text += (int)strings.buffer; } - fclose(fi); + if(fi!=stdin) + fclose(fi); return result; }