Annotation of 43BSD/lib/libc/stdio/setbuffer.c, revision 1.1.1.1

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: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.