|
|
1.1 ! root 1: /* ! 2: * Copyright (c) 1983 Regents of the University of California. ! 3: * All rights reserved. The Berkeley software License Agreement ! 4: * specifies the terms and conditions for redistribution. ! 5: */ ! 6: ! 7: #if defined(LIBC_SCCS) && !defined(lint) ! 8: static char sccsid[] = "@(#)setbuffer.c 5.2 (Berkeley) 3/9/86"; ! 9: #endif LIBC_SCCS and not lint ! 10: ! 11: #include <stdio.h> ! 12: ! 13: setbuffer(iop, buf, size) ! 14: register FILE *iop; ! 15: char *buf; ! 16: int size; ! 17: { ! 18: if (iop->_base != NULL && iop->_flag&_IOMYBUF) ! 19: free(iop->_base); ! 20: iop->_flag &= ~(_IOMYBUF|_IONBF|_IOLBF); ! 21: if ((iop->_base = buf) == NULL) { ! 22: iop->_flag |= _IONBF; ! 23: iop->_bufsiz = NULL; ! 24: } else { ! 25: iop->_ptr = iop->_base; ! 26: iop->_bufsiz = size; ! 27: } ! 28: iop->_cnt = 0; ! 29: } ! 30: ! 31: /* ! 32: * set line buffering for either stdout or stderr ! 33: */ ! 34: setlinebuf(iop) ! 35: register FILE *iop; ! 36: { ! 37: char *buf; ! 38: extern char *malloc(); ! 39: ! 40: fflush(iop); ! 41: setbuffer(iop, NULL, 0); ! 42: buf = malloc(BUFSIZ); ! 43: if (buf != NULL) { ! 44: setbuffer(iop, buf, BUFSIZ); ! 45: iop->_flag |= _IOLBF|_IOMYBUF; ! 46: } ! 47: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.