* tests/calc.m4 (calc.y): Do not assign to stdin, as it's not
authorAkim Demaille <akim@epita.fr>
Tue, 19 Sep 2000 12:37:58 +0000 (12:37 +0000)
committerAkim Demaille <akim@epita.fr>
Tue, 19 Sep 2000 12:37:58 +0000 (12:37 +0000)
portable.

ChangeLog
tests/calc.m4

index cd4a780..064924d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2000-09-19  Akim Demaille  <akim@epita.fr>
+
+       * tests/calc.m4 (calc.y): Do not assign to stdin, as it's not
+       portable.
+
 2000-09-18  Akim Demaille  <akim@epita.fr>
 
        * configure.in: Append WARNING_CFLAGS to CFLAGS.
index 9b57a85..9f0942d 100644 (file)
@@ -54,11 +54,13 @@ exp:      NUM                { $$ = $1;             }
         | '(' exp ')'        { $$ = $2;             }
 ;
 %%
+FILE *yyin = stdin;
+
 int
 main (int argn, const char **argv)
 {
   if (argn == 2)
-    stdin = fopen (argv[1], "r");
+    yyin = fopen (argv[1], "r");
   if (!stdin)
     {
       perror (argv[1]);
@@ -110,13 +112,13 @@ yylex ()
   int c;
 
   /* Skip white space.  */
-  while ((c = getchar ()) == ' ' || c == '\t')
+  while ((c = getc (yyin)) == ' ' || c == '\t')
     ;
   /* process numbers   */
   if (c == '.' || isdigit (c))
     {
-      ungetc (c, stdin);
-      yylval = read_signed_integer (stdin);
+      ungetc (c, yyin);
+      yylval = read_signed_integer (yyin);
       return NUM;
     }
   /* Return end-of-file.  */