Annotation of researchv10dc/libI77/sue.c, revision 1.1.1.1

1.1       root        1: #include "f2c.h"
                      2: #include "fio.h"
                      3: extern uiolen f__reclen;
                      4: long f__recloc;
                      5: 
                      6: #ifdef KR_headers
                      7: c_sue(a) cilist *a;
                      8: #else
                      9: c_sue(cilist *a)
                     10: #endif
                     11: {
                     12:        if(a->ciunit >= MXUNIT || a->ciunit < 0)
                     13:                err(a->cierr,101,"startio");
                     14:        f__external=f__sequential=1;
                     15:        f__formatted=0;
                     16:        f__curunit = &f__units[a->ciunit];
                     17:        f__elist=a;
                     18:        if(f__curunit->ufd==NULL && fk_open(SEQ,UNF,a->ciunit))
                     19:                err(a->cierr,114,"sue");
                     20:        f__cf=f__curunit->ufd;
                     21:        if(f__curunit->ufmt) err(a->cierr,103,"sue")
                     22:        if(!f__curunit->useek) err(a->cierr,103,"sue")
                     23:        return(0);
                     24: }
                     25: #ifdef KR_headers
                     26: integer s_rsue(a) cilist *a;
                     27: #else
                     28: integer s_rsue(cilist *a)
                     29: #endif
                     30: {
                     31:        int n;
                     32:        if(!f__init) f_init();
                     33:        f__reading=1;
                     34:        if(n=c_sue(a)) return(n);
                     35:        f__recpos=0;
                     36:        if(f__curunit->uwrt && f__nowreading(f__curunit))
                     37:                err(a->cierr, errno, "read start");
                     38:        if(fread((char *)&f__reclen,sizeof(uiolen),1,f__cf)
                     39:                != 1)
                     40:        {       if(feof(f__cf))
                     41:                {       f__curunit->uend = 1;
                     42:                        err(a->ciend, EOF, "start");
                     43:                }
                     44:                clearerr(f__cf);
                     45:                err(a->cierr, errno, "start");
                     46:        }
                     47:        return(0);
                     48: }
                     49: #ifdef KR_headers
                     50: integer s_wsue(a) cilist *a;
                     51: #else
                     52: integer s_wsue(cilist *a)
                     53: #endif
                     54: {
                     55:        int n;
                     56:        if(!f__init) f_init();
                     57:        if(n=c_sue(a)) return(n);
                     58:        f__reading=0;
                     59:        f__reclen=0;
                     60:        if(f__curunit->uwrt != 1 && f__nowwriting(f__curunit))
                     61:                err(a->cierr, errno, "write start");
                     62:        f__recloc=ftell(f__cf);
                     63:        (void) fseek(f__cf,(long)sizeof(uiolen),SEEK_CUR);
                     64:        return(0);
                     65: }
                     66: integer e_wsue(Void)
                     67: {      long loc;
                     68:        (void) fwrite((char *)&f__reclen,sizeof(uiolen),1,f__cf);
                     69:        loc=ftell(f__cf);
                     70:        (void) fseek(f__cf,f__recloc,SEEK_SET);
                     71:        (void) fwrite((char *)&f__reclen,sizeof(uiolen),1,f__cf);
                     72:        (void) fseek(f__cf,loc,SEEK_SET);
                     73:        return(0);
                     74: }
                     75: integer e_rsue(Void)
                     76: {
                     77:        (void) fseek(f__cf,(long)(f__reclen-f__recpos+sizeof(uiolen)),SEEK_CUR);
                     78:        return(0);
                     79: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.