24 lines
		
	
	
	
		
			416 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			24 lines
		
	
	
	
		
			416 B
		
	
	
	
		
			C
		
	
	
	
	
	
| /* $Id$ */
 | |
| #include <stdio.h>
 | |
| 
 | |
| 
 | |
| long ftell(iop)
 | |
| FILE *iop;
 | |
| {
 | |
| 	long result;
 | |
| 	long lseek();
 | |
| 	int adjust = 0;
 | |
| 
 | |
| 	if ( io_testflag(iop,IO_READMODE) )
 | |
| 		adjust -= iop->_count;
 | |
| 	else if ( io_testflag(iop,IO_WRITEMODE) && iop->_buf && !io_testflag(iop,IO_UNBUFF))
 | |
| 		adjust = iop->_ptr - iop->_buf;
 | |
| 	
 | |
| 	result = lseek(fileno(iop), 0L, 1);
 | |
| 
 | |
| 	if ( result < 0 )
 | |
| 		return ( result );
 | |
| 
 | |
| 	result += (long) adjust;
 | |
| 	return(result);
 | |
| }
 |