From: Paul Eggert Date: Sat, 1 Jan 2005 09:23:16 +0000 (+0000) Subject: ("@output ".*\n): Don't close standard output. X-Git-Tag: BISON-2_1~216 X-Git-Url: https://git.saurik.com/bison.git/commitdiff_plain/18212466471c01a3943e10436979c29234665825 ("@output ".*\n): Don't close standard output. --- diff --git a/src/scan-skel.l b/src/scan-skel.l index 3191f819..d860c08a 100644 --- a/src/scan-skel.l +++ b/src/scan-skel.l @@ -1,6 +1,6 @@ /* Scan Bison Skeletons. -*- C -*- - Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc. + Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. This file is part of Bison, the GNU Compiler Compiler. @@ -59,9 +59,12 @@ int skel_lex (void); fatal ("invalid token in skeleton: %s", yytext); } - free (outname); + if (outname) + { + free (outname); + xfclose (yyout); + } outname = xstrdup (filename); - xfclose (yyout); yyout = xfopen (outname, "w"); lineno = 1; } @@ -73,14 +76,14 @@ int skel_lex (void); "@oline@" fprintf (yyout, "%d", lineno + 1); "@ofile@" QPUTS (outname); "@output_parser_name@" QPUTS (parser_file_name); -"@output_header_name@" QPUTS (spec_defines_file); +"@output_header_name@" QPUTS (spec_defines_file); /* This pattern must not match more than the previous @ patterns. */ @[^{}@\n]* fatal ("invalid @ in skeleton: %s", yytext); \n lineno++; ECHO; [^@\n]+ ECHO; -<> xfclose (yyout); free (outname); return EOF; +<> free (outname); xfclose (yyout); return EOF; %% /*------------------------.