|
|
1.1 ! root 1: # include <stdio.h> ! 2: # include <sgtty.h> ! 3: # include <ingres.h> ! 4: # include <sccs.h> ! 5: ! 6: SCCSID(@(#)set_so_buf.c 8.1 12/31/84) ! 7: ! 8: /* ! 9: ** SET_SO_BUF -- set standard output buffer conditionally ! 10: ** ! 11: ** This routine sets the standard output buffer conditionally, ! 12: ** based on whether or not it is a terminal. If it is, it ! 13: ** does not set the output; otherwise, it buffers the output. ! 14: ** The buffer is contained internally. ! 15: ** ! 16: ** Parameters: ! 17: ** none ! 18: ** ! 19: ** Returns: ! 20: ** TRUE -- if buffer was set ! 21: ** FALSE -- otherwise ! 22: ** ! 23: ** Side Effects: ! 24: ** The standard output is left buffered or unchanged. ! 25: */ ! 26: ! 27: set_so_buf() ! 28: { ! 29: extern int errno; ! 30: struct sgttyb gttybuf; ! 31: static char buffer[BUFSIZ]; ! 32: ! 33: /* check for standard output is tty */ ! 34: if (gtty(fileno(stdout), >tybuf)) ! 35: { ! 36: /* no: reset errno and buffer */ ! 37: errno = 0; ! 38: setbuf(stdout, buffer); ! 39: ! 40: return (TRUE); ! 41: } ! 42: ! 43: return (FALSE); ! 44: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.