BSD 4_3 release
[unix-history] / usr / src / usr.lib / libI77 / sue.c
index 0a8a484..ad47825 100644 (file)
@@ -1,22 +1,28 @@
 /*
 /*
-char id_sue[] = "@(#)sue.c     1.2";
+ * Copyright (c) 1980 Regents of the University of California.
+ * All rights reserved.  The Berkeley software License Agreement
+ * specifies the terms and conditions for redistribution.
  *
  *
+ *     @(#)sue.c       5.1     6/7/85
+ */
+
+/*
  * sequential unformatted external read/write routines
  */
 
 #include "fio.h"
 
 extern int reclen;
  * sequential unformatted external read/write routines
  */
 
 #include "fio.h"
 
 extern int reclen;
-long recloc;
-char *rsue = "read sue";
-char *sue = "sue";
+LOCAL long recloc;
+LOCAL char rsue[] = "read sue";
+LOCAL char wsue[] = "write sue";
 
 s_rsue(a) cilist *a;
 {
        int n;
        reading = YES;
        if(n=c_sue(a,READ)) return(n);
 
 s_rsue(a) cilist *a;
 {
        int n;
        reading = YES;
        if(n=c_sue(a,READ)) return(n);
-       if(curunit->uwrt) nowreading(curunit);
+       if(curunit->uwrt && ! nowreading(curunit)) err(errflag, errno, rsue)
        recpos = 0;
        if(fread(&reclen,sizeof(int),1,cf) == 1) return(OK);
        if(feof(cf))
        recpos = 0;
        if(fread(&reclen,sizeof(int),1,cf) == 1) return(OK);
        if(feof(cf))
@@ -32,7 +38,7 @@ s_wsue(a) cilist *a;
        int n;
        reading = NO;
        if(n=c_sue(a,WRITE)) return(n);
        int n;
        reading = NO;
        if(n=c_sue(a,WRITE)) return(n);
-       if(!curunit->uwrt) nowwriting(curunit);
+       if(!curunit->uwrt && ! nowwriting(curunit)) err(errflag, errno, wsue)
        reclen = 0;
        recloc=ftell(cf);
        fseek(cf,(long)sizeof(int),1);
        reclen = 0;
        recloc=ftell(cf);
        fseek(cf,(long)sizeof(int),1);
@@ -40,6 +46,7 @@ s_wsue(a) cilist *a;
        return(OK);
 }
 
        return(OK);
 }
 
+LOCAL
 c_sue(a,flag) cilist *a;
 {      int n;
        external = sequential = YES;
 c_sue(a,flag) cilist *a;
 {      int n;
        external = sequential = YES;
@@ -49,16 +56,16 @@ c_sue(a,flag) cilist *a;
        errflag = a->cierr;
        endflag = a->ciend;
        lunit = a->ciunit;
        errflag = a->cierr;
        endflag = a->ciend;
        lunit = a->ciunit;
-       if(not_legal(lunit)) err(errflag,F_ERUNIT,sue)
+       if(not_legal(lunit)) err(errflag,F_ERUNIT,rsue+5)
        curunit = &units[lunit];
        if(!curunit->ufd && (n=fk_open(flag,SEQ,UNF,(ftnint)lunit)))
        curunit = &units[lunit];
        if(!curunit->ufd && (n=fk_open(flag,SEQ,UNF,(ftnint)lunit)))
-               err(errflag,n,sue)
+               err(errflag,n,rsue+5)
        cf = curunit->ufd;
        elist = YES;
        lfname = curunit->ufnm;
        cf = curunit->ufd;
        elist = YES;
        lfname = curunit->ufnm;
-       if(curunit->ufmt) err(errflag,F_ERNOUIO,sue)
-       if(curunit->url) err(errflag,F_ERNOSIO,sue)
-       if(!curunit->useek) err(errflag,F_ERSEEK,sue)
+       if(curunit->ufmt) err(errflag,F_ERNOUIO,rsue+5)
+       if(curunit->url) err(errflag,F_ERNOSIO,rsue+5)
+       if(!curunit->useek) err(errflag,F_ERSEEK,rsue+5)
        return(OK);
 }
 
        return(OK);
 }