|
|
1.1 ! root 1: /* ! 2: * Standard I/O Library Internals ! 3: * Align file seek addr with current pointer in buffer ! 4: * by writing out unflushed data or seeking back over unread data ! 5: * ungot char is discarded ! 6: */ ! 7: ! 8: #include <stdio.h> ! 9: ! 10: int ! 11: _fpseek(fp) ! 12: register FILE *fp; ! 13: { ! 14: extern long lseek(); ! 15: ! 16: if (fp->_ff&_FUNGOT) ! 17: (*fp->_gt)(fp); ! 18: if (fp->_dp <= fp->_cp) ! 19: return (fflush(fp)); ! 20: if (lseek(fileno(fp), (long)(fp->_cp-fp->_dp), SEEK_CUR) == -1L) ! 21: return (EOF); ! 22: fp->_dp = fp->_cp; ! 23: fp->_cc = 0; ! 24: return (0); ! 25: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.