|
|
1.1 ! root 1: #include "fio.h" ! 2: f_inqu(a) inlist *a; ! 3: { flag byfile,legal; ! 4: int i; ! 5: unit *p; ! 6: char buf[256]; ! 7: long x; ! 8: if(a->infile!=NULL) ! 9: { byfile=1; ! 10: g_char(a->infile,a->infilen,buf); ! 11: x=inode(buf); ! 12: for(i=0,p=NULL;i<MXUNIT;i++) ! 13: if(units[i].uinode==x && units[i].ufd!=NULL) ! 14: p = &units[i]; ! 15: } ! 16: else ! 17: { ! 18: byfile=0; ! 19: if(a->inunit<MXUNIT && a->inunit>=0) ! 20: { legal=1; ! 21: p= &units[a->inunit]; ! 22: } ! 23: else ! 24: { legal=0; ! 25: p=NULL; ! 26: } ! 27: } ! 28: if(a->inex!=NULL) ! 29: if(byfile && x>0 || !byfile && p!=NULL) ! 30: *a->inex=1; ! 31: else *a->inex=0; ! 32: if(a->inopen!=NULL) ! 33: if(byfile) *a->inopen=(p!=NULL); ! 34: else *a->inopen=(p!=NULL && p->ufd!=NULL); ! 35: if(a->innum!=NULL) *a->innum= p-units; ! 36: if(a->innamed!=NULL) ! 37: if(byfile || p!=NULL && p->ufnm!=NULL) ! 38: *a->innamed=1; ! 39: else *a->innamed=0; ! 40: if(a->inname!=NULL) ! 41: if(byfile) ! 42: b_char(buf,a->inname,a->innamlen); ! 43: else if(p!=NULL && p->ufnm!=NULL) ! 44: b_char(p->ufnm,a->inname,a->innamlen); ! 45: if(a->inacc!=NULL && p!=NULL && p->ufd!=NULL) ! 46: if(p->url) ! 47: b_char("direct",a->inacc,a->inacclen); ! 48: else b_char("sequential",a->inacc,a->inacclen); ! 49: if(a->inseq!=NULL) ! 50: if(byfile || p!=NULL && p->useek) ! 51: b_char("yes",a->inseq,a->inseqlen); ! 52: else b_char("no",a->inseq,a->inseqlen); ! 53: if(a->indir!=NULL) ! 54: if(byfile || p!=NULL && p->useek) ! 55: b_char("yes",a->indir,a->indirlen); ! 56: else b_char("no",a->indir,a->indirlen); ! 57: if(a->infmt!=NULL) ! 58: if(p!=NULL && p->ufmt) ! 59: b_char("formatted",a->infmt,a->infmtlen); ! 60: else if(p!=NULL) ! 61: b_char("unformatted",a->infmt,a->infmtlen); ! 62: if(a->inform!=NULL) ! 63: b_char("yes",a->inform,a->informlen); ! 64: if(a->inunf) ! 65: if(byfile || p!=NULL && p->useek) ! 66: b_char("yes",a->inunf,a->inunflen); ! 67: else b_char("unknown",a->inunf,a->inunflen); ! 68: if(a->inrecl!=NULL && p!=NULL) ! 69: *a->inrecl=p->url; ! 70: if(a->innrec!=NULL && p!=NULL && p->url>0) ! 71: *a->innrec=ftell(p->ufd)/p->url+1; ! 72: if(a->inblank && p!=NULL && p->ufmt) ! 73: if(p->ublnk) ! 74: b_char("zero",a->inblank,a->inblanklen); ! 75: else b_char("blank",a->inblank,a->inblanklen); ! 76: return(0); ! 77: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.