BSD 4_4_Lite2 release
[unix-history] / usr / src / bin / csh / file.c
index 523844d..3a89d34 100644 (file)
@@ -32,7 +32,7 @@
  */
 
 #ifndef lint
  */
 
 #ifndef lint
-static char sccsid[] = "@(#)file.c     8.2 (Berkeley) 3/19/94";
+static char sccsid[] = "@(#)file.c     8.4 (Berkeley) 5/6/95";
 #endif /* not lint */
 
 #ifdef FILEC
 #endif /* not lint */
 
 #ifdef FILEC
@@ -138,9 +138,11 @@ static void
 back_to_col_1()
 {
     struct termios tty, tty_normal;
 back_to_col_1()
 {
     struct termios tty, tty_normal;
-    int     omask;
+    sigset_t sigset, osigset;
 
 
-    omask = sigblock(sigmask(SIGINT));
+    sigemptyset(&sigset);
+    sigaddset(&sigset, SIGINT);
+    sigprocmask(SIG_BLOCK, &sigset, &osigset);
     (void) tcgetattr(SHOUT, &tty);
     tty_normal = tty;
     tty.c_iflag &= ~INLCR;
     (void) tcgetattr(SHOUT, &tty);
     tty_normal = tty;
     tty.c_iflag &= ~INLCR;
@@ -148,7 +150,7 @@ back_to_col_1()
     (void) tcsetattr(SHOUT, TCSANOW, &tty);
     (void) write(SHOUT, "\r", 1);
     (void) tcsetattr(SHOUT, TCSANOW, &tty_normal);
     (void) tcsetattr(SHOUT, TCSANOW, &tty);
     (void) write(SHOUT, "\r", 1);
     (void) tcsetattr(SHOUT, TCSANOW, &tty_normal);
-    (void) sigsetmask(omask);
+    sigprocmask(SIG_SETMASK, &osigset, NULL);
 }
 
 /*
 }
 
 /*
@@ -160,10 +162,12 @@ pushback(string)
 {
     register Char *p;
     struct termios tty, tty_normal;
 {
     register Char *p;
     struct termios tty, tty_normal;
-    int     omask;
+    sigset_t sigset, osigset;
     char    c;
 
     char    c;
 
-    omask = sigblock(sigmask(SIGINT));
+    sigemptyset(&sigset);
+    sigaddset(&sigset, SIGINT);
+    sigprocmask(SIG_BLOCK, &sigset, &osigset);
     (void) tcgetattr(SHOUT, &tty);
     tty_normal = tty;
     tty.c_lflag &= ~(ECHOKE | ECHO | ECHOE | ECHOK | ECHONL | ECHOPRT | ECHOCTL);
     (void) tcgetattr(SHOUT, &tty);
     tty_normal = tty;
     tty.c_lflag &= ~(ECHOKE | ECHO | ECHOE | ECHOK | ECHONL | ECHOPRT | ECHOCTL);
@@ -172,7 +176,7 @@ pushback(string)
     for (p = string; (c = *p) != '\0'; p++)
        (void) ioctl(SHOUT, TIOCSTI, (ioctl_t) & c);
     (void) tcsetattr(SHOUT, TCSANOW, &tty_normal);
     for (p = string; (c = *p) != '\0'; p++)
        (void) ioctl(SHOUT, TIOCSTI, (ioctl_t) & c);
     (void) tcsetattr(SHOUT, TCSANOW, &tty_normal);
-    (void) sigsetmask(omask);
+    sigprocmask(SIG_SETMASK, &osigset, NULL);
 }
 
 /*
 }
 
 /*
@@ -416,12 +420,14 @@ free_items(items)
 }
 
 #define FREE_ITEMS(items) { \
 }
 
 #define FREE_ITEMS(items) { \
-       int omask;\
+       sigset_t sigset, osigset;\
 \
 \
-       omask = sigblock(sigmask(SIGINT));\
+       sigemptyset(&sigset);\
+       sigaddset(&sigset, SIGINT);\
+       sigprocmask(SIG_BLOCK, &sigset, &osigset);\
        free_items(items);\
        items = NULL;\
        free_items(items);\
        items = NULL;\
-       (void) sigsetmask(omask);\
+       sigprocmask(SIG_SETMASK, &osigset, NULL);\
 }
 
 /*
 }
 
 /*