Initial revision
This commit is contained in:
25
lang/cem/libcc/stdio/ftell.c
Normal file
25
lang/cem/libcc/stdio/ftell.c
Normal file
@@ -0,0 +1,25 @@
|
||||
#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);
|
||||
}
|
||||
Reference in New Issue
Block a user