diff options
Diffstat (limited to 'contrib/libf2c/libI77/rewind.c')
-rw-r--r-- | contrib/libf2c/libI77/rewind.c | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/contrib/libf2c/libI77/rewind.c b/contrib/libf2c/libI77/rewind.c new file mode 100644 index 0000000..d7a9b76 --- /dev/null +++ b/contrib/libf2c/libI77/rewind.c @@ -0,0 +1,25 @@ +#include "config.h" +#include "f2c.h" +#include "fio.h" +integer +f_rew (alist * a) +{ + 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); +} |