# 2.11BSD#431 - /usr/src/usr.lib/libI77/rsfe.c

##### Functions

    e_rsfe            X
    s_rsfe            X
    x_getc            X
    x_rnew            X

##### Variables

    rsfe              X

       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

- in line 16, 27

x_rnew defined in line 37; used 2 times

- in line 16, 30

#### Defined variables

rsfe defined in line 18; used 4 times

- in line 24-26(3), 32

Last modified: 1987-02-18 Generated: 2016-12-26 | Generated by src2html V0.67 page hit count: 655 |