1: /* read sequential formatted external */
   2: #include "fio.h"
   3: #include "fmt.h"
   4: extern int x_getc(),rd_ed(),rd_ned();
   5: extern int x_endp(),x_rev(),xrd_SL();
   6: s_rsfe(a) cilist *a; /* start */
   7: {   int n;
   8:     if(!init) f_init();
   9:     if(n=c_sfe(a,READ)) return(n);
  10:     reading=1;
  11:     sequential=1;
  12:     formatted=1;
  13:     external=1;
  14:     elist=a;
  15:     cursor=recpos=0;
  16:     scale=0;
  17:     fmtbuf=a->cifmt;
  18:     if(pars_f(fmtbuf)<0) err(a->cierr,100,"startio");
  19:     curunit= &units[a->ciunit];
  20:     cf=curunit->ufd;
  21:     getn= x_getc;
  22:     doed= rd_ed;
  23:     doned= rd_ned;
  24:     fmt_bg();
  25:     doend=x_endp;
  26:     donewrec=xrd_SL;
  27:     dorevert=x_rev;
  28:     cblank=curunit->ublnk;
  29:     cplus=0;
  30:     if(curunit->uwrt) nowreading(curunit);
  31:     return(0);
  32: }
  33: xrd_SL()
  34: {   int ch;
  35:     if(!curunit->uend)
  36:         while((ch=getc(cf))!='\n' && ch!=EOF);
  37:     cursor=recpos=0;
  38:     return(1);
  39: }
  40: x_getc()
  41: {   int ch;
  42:     if(curunit->uend) return(EOF);
  43:     if((ch=getc(cf))!=EOF && ch!='\n')
  44:     {   recpos++;
  45:         return(ch);
  46:     }
  47:     if(ch=='\n')
  48:     {   ungetc(ch,cf);
  49:         return(ch);
  50:     }
  51:     if(feof(cf))
  52:     {   errno=0;
  53:         curunit->uend=1;
  54:         return(-1);
  55:     }
  56:     return(-1);
  57: }
  58: x_endp()
  59: {
  60:     xrd_SL();
  61:     return(0);
  62: }
  63: x_rev()
  64: {
  65:     xrd_SL();
  66:     return(0);
  67: }

Defined functions

s_rsfe defined in line 6; never used
x_endp defined in line 58; used 2 times
  • in line 5, 25
x_getc defined in line 40; used 2 times
  • in line 4, 21
x_rev defined in line 63; used 2 times
  • in line 5, 27
xrd_SL defined in line 33; used 4 times
Last modified: 1979-01-10
Generated: 2016-12-26
Generated by src2html V0.67
page hit count: 570
Valid CSS Valid XHTML 1.0 Strict