g_char(a
->infile
,a
->infilen
,buf
);
for(i
=0,p
=NULL
;i
<MXUNIT
;i
++)
if(units
[i
].uinode
==x
&& units
[i
].ufd
!=NULL
)
if(a
->inunit
<MXUNIT
&& a
->inunit
>=0)
if(byfile
&& x
>0 || !byfile
&& p
!=NULL
)
if(byfile
) *a
->inopen
=(p
!=NULL
);
else *a
->inopen
=(p
!=NULL
&& p
->ufd
!=NULL
);
if(a
->innum
!=NULL
) *a
->innum
= p
-units
;
if(byfile
|| p
!=NULL
&& p
->ufnm
!=NULL
)
b_char(buf
,a
->inname
,a
->innamlen
);
else if(p
!=NULL
&& p
->ufnm
!=NULL
)
b_char(p
->ufnm
,a
->inname
,a
->innamlen
);
if(a
->inacc
!=NULL
&& p
!=NULL
&& p
->ufd
!=NULL
)
b_char("direct",a
->inacc
,a
->inacclen
);
else b_char("sequential",a
->inacc
,a
->inacclen
);
if(byfile
|| p
!=NULL
&& p
->useek
)
b_char("yes",a
->inseq
,a
->inseqlen
);
else b_char("no",a
->inseq
,a
->inseqlen
);
if(byfile
|| p
!=NULL
&& p
->useek
)
b_char("yes",a
->indir
,a
->indirlen
);
else b_char("no",a
->indir
,a
->indirlen
);
b_char("formatted",a
->infmt
,a
->infmtlen
);
b_char("unformatted",a
->infmt
,a
->infmtlen
);
b_char("yes",a
->inform
,a
->informlen
);
if(byfile
|| p
!=NULL
&& p
->useek
)
b_char("yes",a
->inunf
,a
->inunflen
);
else b_char("unknown",a
->inunf
,a
->inunflen
);
if(a
->inrecl
!=NULL
&& p
!=NULL
)
if(a
->innrec
!=NULL
&& p
!=NULL
&& p
->url
>0)
*a
->innrec
=ftell(p
->ufd
)/p
->url
+1;
if(a
->inblank
&& p
!=NULL
&& p
->ufmt
)
b_char("zero",a
->inblank
,a
->inblanklen
);
else b_char("blank",a
->inblank
,a
->inblanklen
);