1 /* necf.c 1.4 81/08/24 */ 2 #include <stdio.h> 3 #include <sgtty.h> 4 #include <signal.h> 5 6 #define PAGESIZE 66 7 8 #ifdef TTY 9 #ifndef BAUDRATE 10 # define BAUDRATE B300 11 #endif 12 13 struct sgttyb tty; 14 #endif 15 16 main() 17 { 18 extern char _sobuf[BUFSIZ]; 19 extern char *rindex(); 20 char line[256]; 21 register char c, *cp; 22 register lnumber; 23 24 signal(SIGINT, SIG_IGN); 25 signal(SIGQUIT, SIG_IGN); 26 signal(SIGHUP, SIG_IGN); 27 28 #ifdef TTY 29 tty.sg_ispeed = tty.sg_ospeed = BAUDRATE; 30 tty.sg_erase = tty.sg_kill = -1; 31 tty.sg_flags = (ANYP|XTABS|LDECCTQ); 32 if (ioctl(1, TIOCSETP, (char *)&tty) < 0) 33 exit (2); 34 #endif 35 setbuf(stdout, _sobuf); 36 #ifdef SHEETFEEDER 37 printf("\033=\033\033\033O\f"); 38 #else 39 printf("\033="); 40 #endif 41 lnumber = 0; 42 while (fgets(line, sizeof(line), stdin) != NULL) { 43 #ifdef SHEETFEEDER 44 if (lnumber == PAGESIZE-1) { 45 putchar('\f'); 46 lnumber = 0; 47 } 48 if (lnumber >= 2) { 49 #endif 50 #ifdef TTY 51 if ((cp = rindex(line, '\n')) != NULL) 52 *cp = '\r'; 53 #endif 54 printf("%s", line); 55 #ifdef SHEETFEEDER 56 } 57 lnumber++; 58 #endif 59 } 60 fflush (stdout); 61 } 62