ANSI
[unix-history] / usr / src / old / awk / main.c
index a468aba..6964c01 100644 (file)
@@ -1,5 +1,5 @@
 #ifndef lint
 #ifndef lint
-static char sccsid[] = "@(#)main.c     4.2 %G%";
+static char sccsid[] = "@(#)main.c     4.5 (Berkeley) %G%";
 #endif
 
 #include "stdio.h"
 #endif
 
 #include "stdio.h"
@@ -9,6 +9,7 @@ static char sccsid[] = "@(#)main.c      4.2 %G%";
 #define TOLOWER(c)     (isupper(c) ? tolower(c) : c) /* ugh!!! */
 
 int    dbg     = 0;
 #define TOLOWER(c)     (isupper(c) ? tolower(c) : c) /* ugh!!! */
 
 int    dbg     = 0;
+int    ldbg    = 0;
 int    svflg   = 0;
 int    rstflg  = 0;
 int    svargc;
 int    svflg   = 0;
 int    rstflg  = 0;
 int    svargc;
@@ -23,8 +24,6 @@ extern int maxsym, errno;
 main(argc, argv) int argc; char *argv[]; {
        if (argc == 1)
                error(FATAL, "Usage: awk [-f source | 'cmds'] [files]");
 main(argc, argv) int argc; char *argv[]; {
        if (argc == 1)
                error(FATAL, "Usage: awk [-f source | 'cmds'] [files]");
-       if (strcmp(argv[0], "a.out"))
-               logit(argc, argv);
        syminit();
        while (argc > 1) {
                argc--;
        syminit();
        while (argc > 1) {
                argc--;
@@ -34,9 +33,13 @@ main(argc, argv) int argc; char *argv[]; {
                /* character after f to see if it's -f file or -Fx.
                */
                if (argv[0][0] == '-' && TOLOWER(argv[0][1]) == 'f' && argv[0][2] == '\0') {
                /* character after f to see if it's -f file or -Fx.
                */
                if (argv[0][0] == '-' && TOLOWER(argv[0][1]) == 'f' && argv[0][2] == '\0') {
-                       yyin = fopen(argv[1], "r");
-                       if (yyin == NULL)
-                               error(FATAL, "can't open %s", argv[1]);
+                       if (argv[1][0] == '-' && argv[1][1] == '\0')
+                               yyin = stdin;
+                       else {
+                               yyin = fopen(argv[1], "r");
+                               if (yyin == NULL)
+                                       error(FATAL, "can't open %s", argv[1]);
+                       }
                        argc--;
                        argv++;
                        break;
                        argc--;
                        argv++;
                        break;
@@ -55,6 +58,9 @@ main(argc, argv) int argc; char *argv[]; {
                } else if (strcmp("-d", argv[0])==0) {
                        dbg = 1;
                }
                } else if (strcmp("-d", argv[0])==0) {
                        dbg = 1;
                }
+               else if (strcmp("-l", argv[0])==0) {
+                       ldbg = 1;
+               }
                else if(strcmp("-S", argv[0]) == 0) {
                        svflg = 1;
                }
                else if(strcmp("-S", argv[0]) == 0) {
                        svflg = 1;
                }
@@ -92,31 +98,6 @@ main(argc, argv) int argc; char *argv[]; {
        exit(errorflag);
 }
 
        exit(errorflag);
 }
 
-logit(n, s) char *s[];
-{      int i, tvec[2];
-       FILE *f, *g;
-       char buf[512];
-       if ((f=fopen("/crp/pjw/awkhist/awkhist", "a"))==NULL)
-               return;
-       time(tvec);
-       fprintf(f, "%-8s %s", getlogin(), ctime(tvec));
-       for (i=0; i<n; i++)
-               fprintf(f, "'%s'", s[i]);
-       putc('\n', f);
-       if (strcmp(s[1], "-f")) {
-               fclose(f);
-               return;
-       }
-       if ((g=fopen(s[2], "r"))==NULL) {
-               fclose(f);
-               return;
-       }
-       while ((i=fread(buf, 1, 512, g))>0)
-               fwrite(buf, 1, i, f);
-       fclose(f);
-       fclose(g);
-}
-
 yywrap()
 {
        return(1);
 yywrap()
 {
        return(1);