From 18212466471c01a3943e10436979c29234665825 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Sat, 1 Jan 2005 09:23:16 +0000 Subject: [PATCH] ("@output ".*\n): Don't close standard output. --- src/scan-skel.l | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) 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; %% /*------------------------. -- 2.50.0