Annotation of researchv10dc/libI77/old/inquire.c, revision 1.1.1.1

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

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.