24 lines
		
	
	
	
		
			469 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			24 lines
		
	
	
	
		
			469 B
		
	
	
	
		
			C
		
	
	
	
	
	
/* $Id$ */
 | 
						|
#include	<stdio.h>
 | 
						|
 | 
						|
setbuf(iop, buffer)
 | 
						|
register FILE *iop;
 | 
						|
char *buffer;
 | 
						|
{
 | 
						|
	if ( iop->_buf && io_testflag(iop,IO_MYBUF) )
 | 
						|
		free(iop->_buf);
 | 
						|
 | 
						|
	iop->_flags &= ~(IO_MYBUF | IO_UNBUFF | IO_PERPRINTF);
 | 
						|
 | 
						|
	iop->_buf = (unsigned char *) buffer;
 | 
						|
 | 
						|
	iop->_count = 0;
 | 
						|
	if ( iop->_buf == NULL ) {
 | 
						|
		iop->_flags |= IO_UNBUFF;
 | 
						|
		iop->_bufsiz = 1;
 | 
						|
	} else {
 | 
						|
		if (io_testflag(iop, IO_WRITEMODE)) iop->_count = BUFSIZ;
 | 
						|
		iop->_bufsiz = BUFSIZ;
 | 
						|
	}
 | 
						|
	iop->_ptr = iop->_buf;
 | 
						|
}
 |