25 lines
		
	
	
	
		
			425 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			25 lines
		
	
	
	
		
			425 B
		
	
	
	
		
			C
		
	
	
	
	
	
| #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;
 | |
| 	else
 | |
| 		return(-1);
 | |
| 	
 | |
| 	result = lseek(fileno(iop), 0L, 1);
 | |
| 
 | |
| 	if ( result < 0 )
 | |
| 		return ( result );
 | |
| 
 | |
| 	result += (long) adjust;
 | |
| 	return(result);
 | |
| }
 |