[BACK]Return to tty.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / mail

Diff for /src/usr.bin/mail/tty.c between version 1.1 and 1.2

version 1.1, 1995/10/18 08:45:39 version 1.2, 1996/06/11 12:53:52
Line 1 
Line 1 
   /*      $OpenBSD$       */
   /*      $NetBSD: tty.c,v 1.5 1996/06/08 19:48:43 christos Exp $ */
   
 /*  /*
  * Copyright (c) 1980, 1993   * Copyright (c) 1980, 1993
  *      The Regents of the University of California.  All rights reserved.   *      The Regents of the University of California.  All rights reserved.
Line 32 
Line 35 
  */   */
   
 #ifndef lint  #ifndef lint
 static char sccsid[] = "from: @(#)tty.c 8.1 (Berkeley) 6/6/93";  #if 0
 static char rcsid[] = "$Id$";  static char sccsid[] = "@(#)tty.c       8.1 (Berkeley) 6/6/93";
   #else
   static char rcsid[] = "$OpenBSD$";
   #endif
 #endif /* not lint */  #endif /* not lint */
   
 /*  /*
Line 44 
Line 50 
   
 #include "rcv.h"  #include "rcv.h"
 #include "extern.h"  #include "extern.h"
   #include <sys/ioctl.h>
   
 static  cc_t    c_erase;                /* Current erase char */  static  cc_t    c_erase;                /* Current erase char */
 static  cc_t    c_kill;                 /* Current kill char */  static  cc_t    c_kill;                 /* Current kill char */
Line 71 
Line 78 
         sig_t savettou;          sig_t savettou;
         sig_t savettin;          sig_t savettin;
         int errs;          int errs;
         void ttyint();  #ifdef __GNUC__
           /* Avoid longjmp clobbering */
           (void) &saveint;
   #endif
   
         savetstp = signal(SIGTSTP, SIG_DFL);          savetstp = signal(SIGTSTP, SIG_DFL);
         savettou = signal(SIGTTOU, SIG_DFL);          savettou = signal(SIGTTOU, SIG_DFL);
Line 157 
Line 167 
 {  {
         char ch, canonb[BUFSIZ];          char ch, canonb[BUFSIZ];
         int c;          int c;
         register char *cp, *cp2;          char *cp, *cp2;
         void ttystop();  #if __GNUC__
           /* Avoid longjmp clobbering */
           (void) &c;
           (void) &cp2;
   #endif
   
         fputs(pr, stdout);          fputs(pr, stdout);
         fflush(stdout);          fflush(stdout);
Line 175 
Line 189 
         fflush(stdout);          fflush(stdout);
 #else  #else
         cp = src == NOSTR ? "" : src;          cp = src == NOSTR ? "" : src;
         while (c = *cp++) {          while ((c = *cp++) != '\0') {
                 if ((c_erase != _POSIX_VDISABLE && c == c_erase) ||                  if ((c_erase != _POSIX_VDISABLE && c == c_erase) ||
                     (c_kill != _POSIX_VDISABLE && c == c_kill)) {                      (c_kill != _POSIX_VDISABLE && c == c_kill)) {
                         ch = '\\';                          ch = '\\';
Line 258 
Line 272 
         int s;          int s;
 {  {
         sig_t old_action = signal(s, SIG_DFL);          sig_t old_action = signal(s, SIG_DFL);
           sigset_t nset;
   
         sigsetmask(sigblock(0) & ~sigmask(s));          sigemptyset(&nset);
           sigaddset(&nset, s);
           sigprocmask(SIG_BLOCK, &nset, NULL);
         kill(0, s);          kill(0, s);
         sigblock(sigmask(s));          sigprocmask(SIG_UNBLOCK, &nset, NULL);
         signal(s, old_action);          signal(s, old_action);
         longjmp(rewrite, 1);          longjmp(rewrite, 1);
 }  }

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.2