1: /*
   2:  * Copyright (c) 1980 Regents of the University of California.
   3:  * All rights reserved.  The Berkeley software License Agreement
   4:  * specifies the terms and conditions for redistribution.
   5:  *
   6:  *	@(#)rsfe.c	5.2	7/30/85
   7:  */
   8: 
   9: /*
  10:  * read sequential formatted external
  11:  */
  12: 
  13: #include "fio.h"
  14: 
  15: extern int rd_ed(),rd_ned();
  16: int x_rnew(),x_getc(),x_tab();
  17: 
  18: LOCAL char rsfe[] = "read sfe";
  19: 
  20: s_rsfe(a) cilist *a; /* start */
  21: {   int n;
  22:     reading = YES;
  23:     sequential = YES;
  24:     if(n=c_sfe(a,READ,SEQ,rsfe)) return (n);
  25:     if(curunit->url) err(errflag,F_ERNOSIO,rsfe)
  26:     if(curunit->uwrt && ! nowreading(curunit)) err(errflag, errno, rsfe)
  27:     getn= x_getc;
  28:     doed= rd_ed;
  29:     doned= rd_ned;
  30:     donewrec = dorevert = doend = x_rnew;
  31:     dotab = x_tab;
  32:     if(pars_f()) err(errflag,F_ERFMT,rsfe)
  33:     fmt_bg();
  34:     return(OK);
  35: }
  36: 
  37: LOCAL
  38: x_rnew()            /* find next record */
  39: {   int ch;
  40:     if(curunit->uend)
  41:         return(EOF);
  42:     while((ch=getc(cf))!='\n' && ch!=EOF);
  43:     if(feof(cf))
  44:     {   curunit->uend = YES;
  45:         if (recpos==0) return(EOF);
  46:     }
  47:     cursor=recpos=reclen=0;
  48:     return(OK);
  49: }
  50: 
  51: LOCAL
  52: x_getc()
  53: {   int ch;
  54:     if(curunit->uend) return(EOF);
  55:     if((ch=getc(cf))!=EOF && ch!='\n')
  56:     {   recpos++;
  57:         return(ch);
  58:     }
  59:     if(ch=='\n')
  60:     {   ungetc(ch,cf);
  61:         return(ch);
  62:     }
  63:     if(feof(cf)) curunit->uend = YES;
  64:     return(EOF);
  65: }
  66: 
  67: e_rsfe()
  68: {   int n;
  69:     n=en_fio();
  70:     fmtbuf=NULL;
  71:     return(n);
  72: }

Defined functions

e_rsfe defined in line 67; never used
s_rsfe defined in line 20; never used
x_getc defined in line 51; used 2 times
x_rnew defined in line 37; used 2 times

Defined variables

rsfe defined in line 18; used 4 times
Last modified: 1985-07-31
Generated: 2016-12-26
Generated by src2html V0.67
page hit count: 995
Valid CSS Valid XHTML 1.0 Strict