#if defined(LIBC_SCCS) && !defined(lint)
static char sccsid
[] = "@(#)fseek.c 5.3 (Berkeley) %G%";
#endif LIBC_SCCS and not lint
* Seek for standard library. Coordinates with buffering.
fseek(iop
, offset
, ptrname
)
long p
= -1; /* can't happen? */
if (iop
->_flag
&_IOREAD
) {
if (ptrname
<2 && iop
->_base
&&
long curpos
= lseek(fileno(iop
), 0L, 1);
if(!(iop
->_flag
&_IORW
) && c
>0&&p
<=c
&& p
>=iop
->_base
-iop
->_ptr
){
if (iop
->_flag
& _IORW
) {
p
= lseek(fileno(iop
), offset
-resync
, ptrname
);
else if (iop
->_flag
& (_IOWRT
|_IORW
)) {
if (iop
->_flag
& _IORW
) {
return(lseek(fileno(iop
), offset
, ptrname
) == -1 || p
== EOF
?