projects
/
unix-history
/ blob
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
tags
|
clone url
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
blame
|
history
|
raw
|
HEAD
BSD 3 development
[unix-history]
/
usr
/
src
/
libc
/
stdio
/
ftell.c
/*
* Return file offset.
* Coordinates with buffering.
*/
#include <stdio.h>
long
lseek
();
long
ftell
(
iop
)
FILE
*
iop
;
{
long
tres
;
register
adjust
;
if
(
iop
->
_cnt
<
0
)
iop
->
_cnt
=
0
;
if
(
iop
->
_flag
&
_IOREAD
)
adjust
= -
iop
->
_cnt
;
else if
(
iop
->
_flag
&
_IOWRT
) {
adjust
=
0
;
if
(
iop
->
_base
&& (
iop
->
_flag
&
_IONBF
)==
0
)
adjust
=
iop
->
_ptr
-
iop
->
_base
;
}
else
return
(-
1
);
tres
=
lseek
(
fileno
(
iop
),
0L
,
1
);
if
(
tres
<
0
)
return
(
tres
);
tres
+=
adjust
;
return
(
tres
);
}