Bell 32V release
[unix-history] / usr / src / cmd / f77 / driver.c
index daf3456..bfcc268 100644 (file)
@@ -1,4 +1,4 @@
-char *xxxvers[] = "\n FORTRAN 77 DRIVER, VERSION 1.13,   20 APRIL 1979\n";
+char *xxxvers[] = "\n FORTRAN 77 DRIVER, VERSION 1.11,   28 JULY 1978\n";
 #include <stdio.h>
 #include <ctype.h>
 #include "defines"
 #include <stdio.h>
 #include <ctype.h>
 #include "defines"
@@ -11,8 +11,6 @@ static FILEP diagfile = {stderr} ;
 static int pid;
 static int sigivalue   = 0;
 static int sigqvalue   = 0;
 static int pid;
 static int sigivalue   = 0;
 static int sigqvalue   = 0;
-static int sighvalue   = 0;
-static int sigtvalue   = 0;
 
 static char *pass1name = PASS1NAME ;
 static char *pass2name = PASS2NAME ;
 
 static char *pass1name = PASS1NAME ;
 static char *pass2name = PASS2NAME ;
@@ -47,7 +45,6 @@ static char *rflagp   = rflags;
 static char **loadargs;
 static char **loadp;
 
 static char **loadargs;
 static char **loadp;
 
-static flag erred      = NO;
 static flag loadflag   = YES;
 static flag saveasmflag        = NO;
 static flag profileflag        = NO;
 static flag loadflag   = YES;
 static flag saveasmflag        = NO;
 static flag profileflag        = NO;
@@ -73,8 +70,6 @@ int intrupt();
 
 sigivalue = (int) signal(SIGINT, 1) & 01;
 sigqvalue = (int) signal(SIGQUIT,1) & 01;
 
 sigivalue = (int) signal(SIGINT, 1) & 01;
 sigqvalue = (int) signal(SIGQUIT,1) & 01;
-sighvalue = (int) signal(SIGHUP, 1) & 01;
-sigtvalue = (int) signal(SIGTERM,1) & 01;
 enbint(intrupt);
 
 pid = getpid();
 enbint(intrupt);
 
 pid = getpid();
@@ -241,10 +236,7 @@ for(i = 0 ; i<argc ; ++i)
                case 'r':       /* Ratfor file */
                case 'e':       /* EFL file */
                        if( unreadable(argv[i]) )
                case 'r':       /* Ratfor file */
                case 'e':       /* EFL file */
                        if( unreadable(argv[i]) )
-                               {
-                               erred = YES;
                                break;
                                break;
-                               }
                        s = fortfile;
                        t = lastfield(argv[i]);
                        while( *s++ = *t++)
                        s = fortfile;
                        t = lastfield(argv[i]);
                        while( *s++ = *t++)
@@ -256,7 +248,6 @@ for(i = 0 ; i<argc ; ++i)
                                if(sys(sprintf(buff, "%s %s >%s", macroname, infname, prepfname) ))
                                        {
                                        rmf(prepfname);
                                if(sys(sprintf(buff, "%s %s >%s", macroname, infname, prepfname) ))
                                        {
                                        rmf(prepfname);
-                                       erred = YES;
                                        break;
                                        }
                                infname = prepfname;
                                        break;
                                        }
                                infname = prepfname;
@@ -271,7 +262,7 @@ for(i = 0 ; i<argc ; ++i)
                                rmf(infname);
                        if(status)
                                {
                                rmf(infname);
                        if(status)
                                {
-                               erred = YES;
+                               loadflag = NO;
                                rmf(fortfile);
                                break;
                                }
                                rmf(fortfile);
                                break;
                                }
@@ -282,7 +273,7 @@ for(i = 0 ; i<argc ; ++i)
                                *lastchar(infname) = 'f';
        
                                if( dofort(argv[i]) )
                                *lastchar(infname) = 'f';
        
                                if( dofort(argv[i]) )
-                                       erred = YES;
+                                       loadflag = NO;
                                else    {
                                        if( nodup(t = setdoto(argv[i])) )
                                                *loadp++ = t;
                                else    {
                                        if( nodup(t = setdoto(argv[i])) )
                                                *loadp++ = t;
@@ -294,9 +285,9 @@ for(i = 0 ; i<argc ; ++i)
                case 'f':       /* Fortran file */
                case 'F':
                        if( unreadable(argv[i]) )
                case 'f':       /* Fortran file */
                case 'F':
                        if( unreadable(argv[i]) )
-                               erred = YES;
-                       else if( dofort(argv[i]) )
-                               erred = YES;
+                               break;
+                       if( dofort(argv[i]) )
+                               loadflag = NO;
                        else if( nodup(t=setdoto(argv[i])) )
                                *loadp++ = t;
                        break;
                        else if( nodup(t=setdoto(argv[i])) )
                                *loadp++ = t;
                        break;
@@ -304,16 +295,13 @@ for(i = 0 ; i<argc ; ++i)
                case 'c':       /* C file */
                case 's':       /* Assembler file */
                        if( unreadable(argv[i]) )
                case 'c':       /* C file */
                case 's':       /* Assembler file */
                        if( unreadable(argv[i]) )
-                               {
-                               erred = YES;
                                break;
                                break;
-                               }
 #if HERE==PDP11 || HERE==VAX
                        fprintf(diagfile, "%s:\n", argv[i]);
 #endif
                        sprintf(buff, "cc -c %s", argv[i] );
                        if( sys(buff) )
 #if HERE==PDP11 || HERE==VAX
                        fprintf(diagfile, "%s:\n", argv[i]);
 #endif
                        sprintf(buff, "cc -c %s", argv[i] );
                        if( sys(buff) )
-                               erred = YES;
+                               loadflag = NO;
                        else
                                if( nodup(t = setdoto(argv[i])) )
                                        *loadp++ = t;
                        else
                                if( nodup(t = setdoto(argv[i])) )
                                        *loadp++ = t;
@@ -332,9 +320,9 @@ for(i = 0 ; i<argc ; ++i)
                        break;
                }
 
                        break;
                }
 
-if(loadflag && !erred)
+if(loadflag)
        doload(loadargs, loadp);
        doload(loadargs, loadp);
-done(erred);
+done(0);
 }
 \f
 dofort(s)
 }
 \f
 dofort(s)
@@ -610,7 +598,7 @@ return( await(waitpid) );
 
 
 
 
 
 
-#include "errno.h"
+#include <errno.h>
 
 /* modified version from the Shell */
 texec(f, av)
 
 /* modified version from the Shell */
 texec(f, av)
@@ -661,10 +649,6 @@ if(sigivalue == 0)
        signal(SIGINT,k);
 if(sigqvalue == 0)
        signal(SIGQUIT,k);
        signal(SIGINT,k);
 if(sigqvalue == 0)
        signal(SIGQUIT,k);
-if(sighvalue == 0)
-       signal(SIGHUP,k);
-if(sigtvalue == 0)
-       signal(SIGTERM,k);
 }
 
 
 }
 
 
@@ -712,6 +696,7 @@ if(fp = fopen(s, "r"))
 else
        {
        fprintf(diagfile, "Error: Cannot read file %s\n", s);
 else
        {
        fprintf(diagfile, "Error: Cannot read file %s\n", s);
+       loadflag = NO;
        return(YES);
        }
 }
        return(YES);
        }
 }
@@ -754,27 +739,13 @@ rmf(asmpass2);
 content(filename)
 char *filename;
 {
 content(filename)
 char *filename;
 {
-#ifdef VERSION6
-       struct stat
-               {
-               char cjunk[9];
-               char size0;
-               int size1;
-               int ijunk[12];
-               } buf;
-#else
-#      include <sys/types.h>
-#      include <sys/stat.h>
-       struct stat buf;
-#endif
-
+#include <sys/types.h>
+#include <sys/stat.h>
+struct stat buf;
 if(stat(filename,&buf) < 0) 
        return(-1);
 if(stat(filename,&buf) < 0) 
        return(-1);
-#ifdef VERSION6
-       return(buf.size0 || buf.size1);
-#else
+else
        return( buf.st_size > 0 );
        return( buf.st_size > 0 );
-#endif
 }
 
 
 }