xref: /original-bsd/usr.bin/f77/libI77/dolio.c (revision 6b7db209)
1 /*
2 char id_dolio[] = "@(#)dolio.c	1.2";
3  *
4  * list directed i/o common routines
5  */
6 
7 #include "fio.h"
8 #include "lio.h"
9 
10 
11 c_le(a,flag) cilist *a;
12 {	int n;
13 	lfname = NULL;
14 	elist = NO;
15 	sequential=external=formatted= LISTDIRECTED;
16 	fmtbuf = "ext list io";
17 	errflag = a->cierr;
18 	endflag = a->ciend;
19 	lunit = a->ciunit;
20 	if(not_legal(lunit)) err(errflag,F_ERUNIT,fmtbuf)
21 	curunit = &units[lunit];
22 	if(!curunit->ufd && (n=fk_open(flag,SEQ,FMT,(ftnint)lunit)))
23 		err(errflag,n,fmtbuf)
24 	cf = curunit->ufd;
25 	elist = YES;
26 	lfname = curunit->ufnm;
27 	scale=recpos=cursor=0;
28 	cplus=cblank=NO;
29 	if(!curunit->ufmt) err(errflag,F_ERNOFIO,fmtbuf)
30 	if(curunit->url) err(errflag,F_ERNOSIO,fmtbuf)
31 	return(OK);
32 }
33 
34 do_lio(type,number,ptr,len) ftnint *number,*type; flex *ptr; ftnlen len;
35 {
36 	return((*lioproc)(number,ptr,len,*type));
37 }
38