12500Sdlw /* 2*14827Sdlw char id_rewind[] = "@(#)rewind.c 1.3"; 32500Sdlw * 42500Sdlw * rewind.c - f77 file rewind 52500Sdlw */ 62500Sdlw 72500Sdlw #include "fio.h" 82500Sdlw 9*14827Sdlw static char rwnd[] = "rewind"; 10*14827Sdlw 112500Sdlw f_rew(a) alist *a; 122500Sdlw { int n; 132500Sdlw unit *b; 142500Sdlw 152500Sdlw lfname = NULL; 162500Sdlw elist = NO; 172500Sdlw external = YES; /* for err */ 182500Sdlw lunit = a->aunit; 192500Sdlw errflag = a->aerr; 20*14827Sdlw if(not_legal(lunit)) err(errflag,F_ERUNIT,rwnd) 212500Sdlw b = &units[lunit]; 222500Sdlw if(!b->ufd && (n=fk_open(READ,SEQ,FMT,(ftnint)lunit)) ) 23*14827Sdlw err(errflag,n,rwnd) 242500Sdlw lfname = b->ufnm; 25*14827Sdlw if(!b->useek) err(errflag,F_ERNOBKSP,rwnd) 262500Sdlw b->uend = NO; 272500Sdlw if(b->uwrt) 28*14827Sdlw if(n=t_runc(b,errflag,rwnd)) return(n); 292500Sdlw rewind(b->ufd); 302500Sdlw return(OK); 312500Sdlw } 32