Annotation of researchv8dc/libI77/uio.c, revision 1.1.1.1

1.1       root        1: /*     @(#)uio.c       1.2     */
                      2: /*     3.0 SID #       1.2     */
                      3: #include "fio.h"
                      4: int reclen;
                      5: do_us(number,ptr,len) ftnint *number; ftnlen len; char *ptr;
                      6: {
                      7:        if(reading)
                      8:        {
                      9:                recpos += *number * len;
                     10:                if(recpos>reclen)
                     11:                {
                     12:                        err(elist->ciend,(-1), "eof/uio");
                     13:                }
                     14:                (void) fread(ptr,(int)len,(int)(*number),cf);
                     15:                return(0);
                     16:        }
                     17:        else
                     18:        {
                     19:                reclen += *number * len;
                     20:                (void) fwrite(ptr,(int)len,(int)(*number),cf);
                     21:                return(0);
                     22:        }
                     23: }
                     24: do_uio(number,ptr,len) ftnint *number; ftnlen len; char *ptr;
                     25: {
                     26:        if(sequential)
                     27:                return(do_us(number,ptr,len));
                     28:        else    return(do_ud(number,ptr,len));
                     29: }
                     30: do_ud(number,ptr,len) ftnint *number; ftnlen len; char *ptr;
                     31: {
                     32:        recpos += *number * len;
                     33:        if(recpos > curunit->url && curunit->url!=1)
                     34:                err(elist->cierr,110,"eof/uio");
                     35:        if(reading)
                     36:        {
                     37:                if(fread(ptr,(int)len,(int)(*number),cf)
                     38:                        != *number)
                     39:                        err(elist->cierr,27,"eof/uio")
                     40:                else return(0);
                     41:        }
                     42:        (void) fwrite(ptr,(int)len,(int)(*number),cf);
                     43:        return(0);
                     44: }

unix.superglobalmegacorp.com

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