Annotation of researchv8dc/libI77/iio.c, revision 1.1.1.1

1.1       root        1: /*     @(#)iio.c       1.2     */
                      2: #include "fio.h"
                      3: #include "fmt.h"
                      4: extern char *icptr;
                      5: char *icend;
                      6: extern icilist *svic;
                      7: extern int rd_ed(),rd_ned(),w_ed(),w_ned(),y_ierr();
                      8: extern int z_wnew();
                      9: int icnum;
                     10: extern int hiwater;
                     11: z_getc()
                     12: {
                     13:        if(icptr >= icend) err(svic->iciend,(EOF),"endfile");
                     14:        if(recpos++ < svic->icirlen)
                     15:                return(*icptr++);
                     16:        else    err(svic->icierr,110,"recend");
                     17: }
                     18: z_putc(c)
                     19: {
                     20:        if(icptr >= icend) err(svic->icierr,110,"inwrite");
                     21:        if(recpos++ < svic->icirlen)
                     22:                *icptr++ = c;
                     23:        else    err(svic->icierr,110,"recend");
                     24:        return(0);
                     25: }
                     26: z_rnew()
                     27: {
                     28:        icptr = svic->iciunit + (++icnum)*svic->icirlen;
                     29:        recpos = 0;
                     30:        cursor = 0;
                     31:        hiwater = 0;
                     32: }
                     33: s_rsfi(a) icilist *a;
                     34: {      int n;
                     35:        if(n=c_si(a)) return(n);
                     36:        reading=1;
                     37:        doed=rd_ed;
                     38:        doned=rd_ned;
                     39:        getn=z_getc;
                     40:        dorevert = y_ierr;
                     41:        donewrec = doend = z_rnew;
                     42:        return(0);
                     43: }
                     44: s_wsfi(a) icilist *a;
                     45: {      int n;
                     46:        if(n=c_si(a)) return(n);
                     47:        reading=0;
                     48:        doed=w_ed;
                     49:        doned=w_ned;
                     50:        putn=z_putc;
                     51:        dorevert = y_ierr;
                     52:        donewrec = doend = z_wnew;
                     53:        return(0);
                     54: }
                     55: c_si(a) icilist *a;
                     56: {
                     57:        fmtbuf=a->icifmt;
                     58:        if(pars_f(fmtbuf)<0)
                     59:                err(a->icierr,100,"startint");
                     60:        fmt_bg();
                     61:        sequential=formatted=1;
                     62:        external=0;
                     63:        cblank=cplus=scale=0;
                     64:        svic=a;
                     65:        icnum=recpos=0;
                     66:        cursor = 0;
                     67:        hiwater = 0;
                     68:        icptr=svic->iciunit;
                     69:        icend=icptr+svic->icirlen*svic->icirnum;
                     70:        return(0);
                     71: }
                     72: z_wnew()
                     73: {
                     74:        while(recpos++ < svic->icirlen)
                     75:                *icptr++ = ' ';
                     76:        recpos = 0;
                     77:        cursor = 0;
                     78:        hiwater = 0;
                     79:        icnum++;
                     80: }
                     81: e_rsfi()
                     82: {      int n;
                     83:        n = en_fio();
                     84:        fmtbuf = NULL;
                     85:        return(n);
                     86: }
                     87: e_wsfi()
                     88: {
                     89:        int n;
                     90:        n = en_fio();
                     91:        fmtbuf = NULL;
                     92:        if(icnum >= svic->icirnum)
                     93:                return(n);
                     94:        while(recpos++ < svic->icirlen)
                     95:                *icptr++ = ' ';
                     96:        return(n);
                     97: }
                     98: y_ierr()
                     99: {
                    100:        err(elist->cierr, 110, "iio");
                    101: }

unix.superglobalmegacorp.com

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