xref: /csrg-svn/usr.bin/f77/libI77/endfile.c (revision 47943)
1*47943Sbostic /*-
2*47943Sbostic  * Copyright (c) 1980 The Regents of the University of California.
3*47943Sbostic  * All rights reserved.
42491Sdlw  *
5*47943Sbostic  * %sccs.include.proprietary.c%
623072Skre  */
723072Skre 
8*47943Sbostic #ifndef lint
9*47943Sbostic static char sccsid[] = "@(#)endfile.c	5.3 (Berkeley) 04/12/91";
10*47943Sbostic #endif /* not lint */
11*47943Sbostic 
1223072Skre /*
132491Sdlw  * endfile
142491Sdlw  */
152491Sdlw 
162491Sdlw #include "fio.h"
172491Sdlw 
1810673Sdlw static char	endf[]	= "endfile";
192491Sdlw 
f_end(a)2010673Sdlw f_end (a)
2110673Sdlw alist	*a;
222491Sdlw {
2310673Sdlw 	unit	*b;
2424095Sjerry 	int n;
2510673Sdlw 
262491Sdlw 	lfname = NULL;
272491Sdlw 	elist = NO;
282491Sdlw 	errflag = a->aerr;
292491Sdlw 	lunit = a->aunit;
3010673Sdlw 	if (not_legal(lunit))
3110673Sdlw 		err (errflag, F_ERUNIT, endf)
322491Sdlw 	b = &units[lunit];
3324095Sjerry 	if(!b->ufd && (n = fk_open(READ, SEQ, FMT, (ftnint)lunit)) )
3424095Sjerry 		err(errflag, n, endf);
3510673Sdlw 	if (b->uend)
3610673Sdlw 		return(0);
372491Sdlw 	lfname = b->ufnm;
382491Sdlw 	b->uend = YES;
3914826Sdlw 	return ( t_runc (b, errflag, endf) );
402491Sdlw }
41