home *** CD-ROM | disk | FTP | other *** search
/ Source Code 1992 March / Source_Code_CD-ROM_Walnut_Creek_March_1992.iso / usenet / altsrcs / 1 / 1456 / cleanup.c < prev    next >
Encoding:
C/C++ Source or Header  |  1990-12-28  |  817 b   |  35 lines

  1. /*
  2.  * Copyright (C) 1990 Jay Konigsberg - see Makefile for details
  3.  * This is Free Software, distrubited under the GNU Software Aggrement.
  4.  */
  5.  
  6. #include "simped.h"
  7.  
  8. /* Global for interrupt routine: cleanup() */
  9. extern    struct      termio  ttyset;    /* terminal settings */
  10. extern    unsigned  short   c_lflag_hold;    /* hold original values for reset */
  11. extern    unsigned  char    VEOF_hold;    /* hold original value for reset */
  12.  
  13. int cleanup(sig_caught) /* Signal trap for SIGINT */
  14. int    sig_caught;
  15. {
  16. void    exit();
  17.  
  18. int    ioctl(),
  19.     fprintf();
  20.  
  21. /* reset terminal charastics */
  22. ttyset.c_lflag = c_lflag_hold;
  23. ttyset.c_cc[4] = VEOF_hold;
  24. if ( ioctl(0, TCSETAW, &ttyset) == -1) {
  25.     fprintf(stderr, "ioctl: error=%d\n", errno);
  26.     exit(2);
  27. }
  28. if (sig_caught)
  29.     {
  30.     fprintf(stderr,"\nMessage aborted.\n");
  31.     }
  32. exit(2);
  33. return(0);
  34. }
  35.