diff options
Diffstat (limited to 'do/seek')
-rw-r--r-- | do/seek | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/do/seek b/do/seek new file mode 100644 index 0000000000..c295ea7f66 --- /dev/null +++ b/do/seek @@ -0,0 +1,29 @@ +bool +do_seek(stab, pos, whence) +STAB *stab; +long pos; +int whence; +{ + register STIO *stio; + + if (!stab) + goto nuts; + + stio = stab_io(stab); + if (!stio || !stio->ifp) + goto nuts; + +#ifdef ULTRIX_STDIO_BOTCH + if (feof(stio->ifp)) + (void)fseek (stio->ifp, 0L, 2); /* ultrix 1.2 workaround */ +#endif + + return fseek(stio->ifp, pos, whence) >= 0; + +nuts: + if (dowarn) + warn("seek() on unopened file"); + errno = EBADF; + return FALSE; +} + |