diff --git a/src/parser/ffscript.ypp b/src/parser/ffscript.ypp index 4387ff5cb6..6d12547e4e 100644 --- a/src/parser/ffscript.ypp +++ b/src/parser/ffscript.ypp @@ -28,7 +28,7 @@ extern int32_t yycol; extern char* yytext; extern int32_t yyleng; extern int32_t yylex(void); -extern FILE *yyin; +extern FILE *yyin, *yyout; extern void resetLexer(); void yyerror(std::unique_ptr& root, const char* s); void yymsg(string const& message, int32_t row = yyrow, int32_t col = yycol, char const* txt = yytext); @@ -2269,6 +2269,7 @@ namespace ZScript // Read in the file. yyin = fopen(filename.c_str(), "r"); + yyout = std::tmpfile(); if (!yyin) { zconsole_error("Can't open input file"); @@ -2281,6 +2282,7 @@ namespace ZScript { result.reset(); } + fclose(yyout); fclose(yyin); return std::unique_ptr(result.release());