install correct aliases file
[unix-history] / usr / src / old / awk / lib.c
index e895fbc..14472ca 100644 (file)
@@ -1,5 +1,5 @@
 #ifndef lint
 #ifndef lint
-static char sccsid[] = "@(#)lib.c      4.4 %G%";
+static char sccsid[] = "@(#)lib.c      4.6 (Berkeley) %G%";
 #endif
 
 #include "stdio.h"
 #endif
 
 #include "stdio.h"
@@ -7,6 +7,7 @@ static char sccsid[] = "@(#)lib.c       4.4 %G%";
 #include "awk.h"
 #include "ctype.h"
 
 #include "awk.h"
 #include "ctype.h"
 
+extern FILE    *yyin;  /* lex input file */
 FILE   *infile = NULL;
 char   *file;
 #define        RECSIZE (5 * 512)
 FILE   *infile = NULL;
 char   *file;
 #define        RECSIZE (5 * 512)
@@ -22,13 +23,15 @@ int mustfld;        /* 1 = NF seen, so always break*/
 #define        FINIT   {EMPTY, EMPTY, 0.0, FLD|STR}
 cell fldtab[MAXFLD] = {        /*room for fields */
        { "$record", record, 0.0, STR|FLD},
 #define        FINIT   {EMPTY, EMPTY, 0.0, FLD|STR}
 cell fldtab[MAXFLD] = {        /*room for fields */
        { "$record", record, 0.0, STR|FLD},
-       FINIT, FINIT, FINIT, FINIT, FINIT, FINIT, FINIT,
-       FINIT, FINIT, FINIT, FINIT, FINIT, FINIT, FINIT,
-       FINIT, FINIT, FINIT, FINIT, FINIT, FINIT, FINIT,
-       FINIT, FINIT, FINIT, FINIT, FINIT, FINIT, FINIT,
-       FINIT, FINIT, FINIT, FINIT, FINIT, FINIT, FINIT,
-       FINIT, FINIT, FINIT, FINIT, FINIT, FINIT, FINIT,
-       FINIT, FINIT, FINIT, FINIT, FINIT, FINIT, FINIT
+       FINIT, FINIT, FINIT, FINIT, FINIT, FINIT, FINIT, FINIT, FINIT,
+       FINIT, FINIT, FINIT, FINIT, FINIT, FINIT, FINIT, FINIT, FINIT,
+       FINIT, FINIT, FINIT, FINIT, FINIT, FINIT, FINIT, FINIT, FINIT,
+       FINIT, FINIT, FINIT, FINIT, FINIT, FINIT, FINIT, FINIT, FINIT,
+       FINIT, FINIT, FINIT, FINIT, FINIT, FINIT, FINIT, FINIT, FINIT,
+       FINIT, FINIT, FINIT, FINIT, FINIT, FINIT, FINIT, FINIT, FINIT,
+       FINIT, FINIT, FINIT, FINIT, FINIT, FINIT, FINIT, FINIT, FINIT,
+       FINIT, FINIT, FINIT, FINIT, FINIT, FINIT, FINIT, FINIT, FINIT,
+       FINIT, FINIT, FINIT, FINIT, FINIT, FINIT, FINIT, FINIT, FINIT,
 };
 int    maxfld  = 0;    /* last used field */
 
 };
 int    maxfld  = 0;    /* last used field */
 
@@ -55,8 +58,12 @@ getrec()
                        }
                        *FILENAME = file = *svargv;
                        dprintf("opening file %s\n", file, NULL, NULL);
                        }
                        *FILENAME = file = *svargv;
                        dprintf("opening file %s\n", file, NULL, NULL);
-                       if (*file == '-')
-                               infile = stdin;
+                       if (*file == '-') {
+                               if (yyin == stdin)
+                                       error(FATAL, "standard input already used for reading commands");
+                               else
+                                       infile = stdin;
+                       }
                        else if ((infile = fopen(file, "r")) == NULL)
                                error(FATAL, "can't open %s", file);
                }
                        else if ((infile = fopen(file, "r")) == NULL)
                                error(FATAL, "can't open %s", file);
                }