xref: /csrg-svn/usr.bin/f77/libI77/dolio.c (revision 2586)
12488Sdlw /*
2*2586Sdlw char id_dolio[] = "@(#)dolio.c	1.2";
32488Sdlw  *
42488Sdlw  * list directed i/o common routines
52488Sdlw  */
62488Sdlw 
72488Sdlw #include "fio.h"
82488Sdlw #include "lio.h"
92488Sdlw 
102488Sdlw 
112488Sdlw c_le(a,flag) cilist *a;
122488Sdlw {	int n;
132488Sdlw 	lfname = NULL;
142488Sdlw 	elist = NO;
152488Sdlw 	sequential=external=formatted= LISTDIRECTED;
162488Sdlw 	fmtbuf = "ext list io";
172488Sdlw 	errflag = a->cierr;
182488Sdlw 	endflag = a->ciend;
192488Sdlw 	lunit = a->ciunit;
20*2586Sdlw 	if(not_legal(lunit)) err(errflag,F_ERUNIT,fmtbuf)
212488Sdlw 	curunit = &units[lunit];
222488Sdlw 	if(!curunit->ufd && (n=fk_open(flag,SEQ,FMT,(ftnint)lunit)))
232488Sdlw 		err(errflag,n,fmtbuf)
242488Sdlw 	cf = curunit->ufd;
252488Sdlw 	elist = YES;
262488Sdlw 	lfname = curunit->ufnm;
272488Sdlw 	scale=recpos=cursor=0;
282488Sdlw 	cplus=cblank=NO;
29*2586Sdlw 	if(!curunit->ufmt) err(errflag,F_ERNOFIO,fmtbuf)
30*2586Sdlw 	if(curunit->url) err(errflag,F_ERNOSIO,fmtbuf)
312488Sdlw 	return(OK);
322488Sdlw }
332488Sdlw 
342488Sdlw do_lio(type,number,ptr,len) ftnint *number,*type; flex *ptr; ftnlen len;
352488Sdlw {
362488Sdlw 	return((*lioproc)(number,ptr,len,*type));
372488Sdlw }
38