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

##### Functions

    do_ud             X
    do_uio            X
    do_us             X
    due_err           X

##### Variables

    eor               X
    uio               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:  *	@(#)douio.c	5.1	6/7/85
       7:  */
       8:
       9: /*
      10:  * unformatted external i/o
      11:  */
      12:
      13: #include "fio.h"
      14:
      15: LOCAL char *eor = "eor/uio";
      16: LOCAL char *uio = "uio";
      17:
      18: LOCAL
      19: do_us(number,ptr,len) ftnint *number; ftnlen len; char *ptr;  /* sequential */
      20: {
      21:     if(reading)
      22:     {
      23:         recpos += *number * len;
      24:         if (recpos > reclen) {
      25:             recpos -= *number * len;
      26:             e_rsue(); /* in case tries another read */
      27:             err(errflag,F_EREREC,eor);
      28:         }
      29:
      30:         if (fread(ptr,(int)len,(int)(*number),cf) != *number)
      31:             return(due_err(uio));
      32:     }
      33:     else
      34:     {
      35:         reclen += *number * len;
      36:         fwrite(ptr,(int)len,(int)(*number),cf);
      37:     }
      38:     return(OK);
      39: }
      40:
      41: do_uio(number,ptr,len) ftnint *number; ftnlen len; char *ptr;
      42: {
      43:     if(sequential)
      44:         return(do_us(number,ptr,len));
      45:     else
      46:         return(do_ud(number,ptr,len));
      47: }
      48:
      49: LOCAL
      50: do_ud(number,ptr,len) ftnint *number; ftnlen len; char *ptr;  /* direct */
      51: {
      52:     recpos += *number * len;
      53:     if(recpos > curunit->url && curunit->url!=1)
      54:         err(errflag,F_EREREC,eor);
      55:     if(reading)
      56:     {
      57:         if (fread(ptr, (int)len, (int)(*number), cf) != *number)
      58:             return(due_err(uio));
      59:     }
      60:     else
      61:         fwrite(ptr,(int)len,(int)(*number),cf);
      62:     return(OK);
      63: }
      64:
      65: due_err(s) char *s;
      66: {
      67:     if(feof(cf))
      68:         err(endflag,EOF,s)
      69:     else
      70:     {   clearerr(cf);
      71:         err(errflag,errno,s)
      72:     }
      73: }

#### Defined functions

do_ud defined in line 49; used 1 times

- in line 46

do_uio defined in line 41; never used
do_us defined in line 18; used 1 times

- in line 44

due_err defined in line 65; used 4 times

- in line 31, 58
- in /usr/src/usr.lib/libI77/due.c line 58, 74

#### Defined variables

eor defined in line 15; used 2 times

- in line 27, 54

uio defined in line 16; used 2 times

- in line 31, 58

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