fseekp
if (aret == F_SEEK && fseekp == feobp)
fseekp = feobp = fblocks = 0;
if (intty && fseekp == feobp && aret == F_SEEK)
if (fseekp < fbobp || fseekp > feobp) {
fbobp = feobp = fseekp;
(void)lseek(SHIN, fseekp, SEEK_SET);
if (fseekp == feobp) {
c = fbuf[0][fseekp - fbobp];
fseekp++;
buf = (int) fseekp / BUFSIZE;
if (fseekp >= feobp) {
feobp = fseekp = fblocks * BUFSIZE;
c = fbuf[buf][(int)fseekp % BUFSIZE];
fseekp++;
sb = (int)(fseekp - 1) / BUFSIZE;
fseekp -= BUFSIZE * sb;
fseekp = l->f_seek;
l->f_seek = fseekp;
fseekp = feobp;
fseekp = fbobp = feobp = lseek(SHIN, (off_t) 0, SEEK_CUR);