date and time created 91/03/07 20:28:05 by bostic
[unix-history] / usr / src / bin / csh / func.c
index 254d81d..14c7a9f 100644 (file)
@@ -5,11 +5,12 @@
  */
 
 #ifndef lint
  */
 
 #ifndef lint
-static char *sccsid = "@(#)func.c      5.6 (Berkeley) %G%";
+static char *sccsid = "@(#)func.c      5.10 (Berkeley) %G%";
 #endif
 
 #include "sh.h"
 #include <sys/ioctl.h>
 #endif
 
 #include "sh.h"
 #include <sys/ioctl.h>
+#include "pathnames.h"
 
 /*
  * C shell
 
 /*
  * C shell
@@ -175,7 +176,7 @@ dologin(v)
        islogin();
        rechist();
        (void) signal(SIGTERM, parterm);
        islogin();
        rechist();
        (void) signal(SIGTERM, parterm);
-       execl("/bin/login", "login", v[1], 0);
+       execl(_PATH_LOGIN, "login", v[1], 0);
        untty();
        exit(1);
 }
        untty();
        exit(1);
 }
@@ -1063,8 +1064,8 @@ setlim(lp, hard, limit)
 
 dosuspend()
 {
 
 dosuspend()
 {
+       sig_t old;
        int ldisc, ctpgrp;
        int ldisc, ctpgrp;
-       int (*old)();
 
        if (loginsh)
                error("Can't suspend a login shell (yet)");
 
        if (loginsh)
                error("Can't suspend a login shell (yet)");
@@ -1082,14 +1083,8 @@ retry:
                        (void) signal(SIGTTIN, old);
                        goto retry;
                }
                        (void) signal(SIGTTIN, old);
                        goto retry;
                }
-               (void) ioctl(FSHTTY, TIOCSPGRP, (char *)&shpgrp);
                (void) setpgrp(0, shpgrp);
                (void) setpgrp(0, shpgrp);
-       }
-       (void) ioctl(FSHTTY, TIOCGETD, (char *)&oldisc);
-       if (oldisc != NTTYDISC) {
-               printf("Switching to new tty driver...\n");
-               ldisc = NTTYDISC;
-               (void) ioctl(FSHTTY, TIOCSETD, (char *)&ldisc);
+               (void) ioctl(FSHTTY, TIOCSPGRP, (char *)&shpgrp);
        }
 }
 
        }
 }