1: #include "fio.h"
   2: #include "fmt.h"
   3: extern int rd_ed(),rd_ned(),y_getc(),y_putc(),y_err();
   4: extern int y_rev();
   5: extern int w_ed(),w_ned();
   6: s_rdfe(a) cilist *a;
   7: {
   8:     int n;
   9:     if(!init) f_init();
  10:     if(n=c_dfe(a,READ))return(n);
  11:     reading=1;
  12:     if(curunit->uwrt) nowreading(curunit);
  13:     getn = y_getc;
  14:     doed = rd_ed;
  15:     doned = rd_ned;
  16:     dorevert = donewrec = y_err;
  17:     doend = y_rev;
  18:     if(pars_f(fmtbuf)<0)
  19:         err(a->cierr,100,"startio");
  20:     fmt_bg();
  21:     return(0);
  22: }
  23: s_wdfe(a) cilist *a;
  24: {
  25:     int n;
  26:     if(!init) f_init();
  27:     if(n=c_dfe(a,WRITE)) return(n);
  28:     reading=0;
  29:     if(!curunit->uwrt) nowwriting(curunit);
  30:     putn = y_putc;
  31:     doed = w_ed;
  32:     doned= w_ned;
  33:     dorevert = donewrec = y_err;
  34:     doend = y_rev;
  35:     if(pars_f(fmtbuf)<0)
  36:         err(a->cierr,100,"startwrt");
  37:     fmt_bg();
  38:     return(0);
  39: }
  40: e_rdfe()
  41: {
  42:     en_fio();
  43:     return(0);
  44: }
  45: e_wdfe()
  46: {
  47:     en_fio();
  48:     return(0);
  49: }
  50: c_dfe(a,flag) cilist *a;
  51: {
  52:     sequential=0;
  53:     formatted=external=1;
  54:     elist=a;
  55:     cursor=scale=recpos=0;
  56:     if(a->ciunit>MXUNIT || a->ciunit<0)
  57:         err(a->cierr,101,"startchk");
  58:     curunit = &units[a->ciunit];
  59:     if(curunit->ufd==NULL && fk_open(flag,DIR,FMT,a->ciunit))
  60:         err(a->cierr,104,"dfe");
  61:     cf=curunit->ufd;
  62:     if(!curunit->ufmt) err(a->cierr,102,"dfe")
  63:     if(!curunit->useek) err(a->cierr,104,"dfe")
  64:     fmtbuf=a->cifmt;
  65:     fseek(cf,(long)curunit->url * (a->cirec-1),0);
  66:     curunit->uend = 0;
  67:     return(0);
  68: }
  69: y_getc()
  70: {
  71:     int ch;
  72:     if(curunit->uend) return(-1);
  73:     if((ch=getc(cf))!=EOF)
  74:     {
  75:         recpos++;
  76:         if(curunit->url>=recpos ||
  77:             curunit->url==1)
  78:             return(ch);
  79:         else    return(' ');
  80:     }
  81:     if(feof(cf))
  82:     {
  83:         curunit->uend=1;
  84:         errno=0;
  85:         return(-1);
  86:     }
  87:     err(elist->cierr,errno,"readingd");
  88: }
  89: y_putc(c)
  90: {
  91:     recpos++;
  92:     if(recpos <= curunit->url || curunit->url==1)
  93:         putc(c,cf);
  94:     else
  95:         err(elist->cierr,110,"dout");
  96:     return(0);
  97: }
  98: y_rev()
  99: {   /*what about work done?*/
 100:     if(curunit->url==1 || recpos==curunit->url)
 101:         return(0);
 102:     while(recpos<curunit->url)
 103:         (*putn)(' ');
 104:     recpos=0;
 105:     return(0);
 106: }
 107: y_err()
 108: {
 109:     err(elist->cierr, 110, "dfe");
 110: }

Defined functions

c_dfe defined in line 50; used 2 times
e_rdfe defined in line 40; never used
e_wdfe defined in line 45; never used
s_rdfe defined in line 6; never used
s_wdfe defined in line 23; never used
y_err defined in line 107; used 3 times
y_getc defined in line 69; used 2 times
  • in line 3, 13
y_putc defined in line 89; used 2 times
  • in line 3, 30
y_rev defined in line 98; used 3 times
Last modified: 1979-01-10
Generated: 2016-12-26
Generated by src2html V0.67
page hit count: 735
Valid CSS Valid XHTML 1.0 Strict