1: /*
2: * Return file offset.
3: * Coordinates with buffering.
4: */
5:
6: #include <stdio.h>
7: long lseek();
8:
9:
10: long ftell(iop)
11: FILE *iop;
12: {
13: long tres;
14: register adjust;
15:
16: if (iop->_cnt < 0)
17: iop->_cnt = 0;
18: if (iop->_flag&_IOREAD)
19: adjust = - iop->_cnt;
20: else if(iop->_flag&(_IOWRT|_IORW)) {
21: adjust = 0;
22: if (iop->_flag&_IOWRT && iop->_base && (iop->_flag&_IONBF)==0)
23: adjust = iop->_ptr - iop->_base;
24: } else
25: return(-1);
26: tres = lseek(fileno(iop), 0L, 1);
27: if (tres<0)
28: return(tres);
29: tres += adjust;
30: return(tres);
31: }
Defined functions
ftell
defined in line
10; used 34 times
- in /usr/include/stdio.h line
40
- in /usr/src/cmd/f77/putscj.c line
34,
64
- in /usr/src/cmd/grep.c line
442,
458
- in /usr/src/cmd/join.c line
31,
103-108(2),
116
- in /usr/src/cmd/look.c line
58,
85
- in /usr/src/cmd/mail.c line
48,
363,
376
- in /usr/src/cmd/nm.c line
29,
229
- in /usr/src/cmd/prof.c line
122
- in /usr/src/cmd/ranlib.c line
11,
111
- in /usr/src/cmd/refer/inv2.c line
13,
21
- in /usr/src/cmd/refer/mkey2.c line
89
- in /usr/src/cmd/struct/1.line.c line
11,
91
- in /usr/src/libI77/backspace.c line
22,
36
- in /usr/src/libI77/due.c line
41
- in /usr/src/libI77/endfile.c line
22-24(2)
- in /usr/src/libI77/err.c line
98,
105
- in /usr/src/libI77/inquire.c line
71
- in /usr/src/libI77/sue.c line
31,
53