diff options
Diffstat (limited to 'gnu/lib/libf2c/libI77/rewind.c')
-rw-r--r-- | gnu/lib/libf2c/libI77/rewind.c | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/gnu/lib/libf2c/libI77/rewind.c b/gnu/lib/libf2c/libI77/rewind.c new file mode 100644 index 00000000000..06915195d67 --- /dev/null +++ b/gnu/lib/libf2c/libI77/rewind.c @@ -0,0 +1,27 @@ +#include "config.h" +#include "f2c.h" +#include "fio.h" +#ifdef KR_headers +integer f_rew(a) alist *a; +#else +integer f_rew(alist *a) +#endif +{ + unit *b; + if (f__init & 2) + f__fatal (131, "I/O recursion"); + if(a->aunit>=MXUNIT || a->aunit<0) + err(a->aerr,101,"rewind"); + b = &f__units[a->aunit]; + if(b->ufd == NULL || b->uwrt == 3) + return(0); + if(!b->useek) + err(a->aerr,106,"rewind"); + if(b->uwrt) { + (void) t_runc(a); + b->uwrt = 3; + } + FSEEK(b->ufd, 0, SEEK_SET); + b->uend=0; + return(0); +} |