Annotation of researchv10no/cmd/spitbol/cint/doset.c, revision 1.1.1.1

1.1       root        1: 
                      2: 
                      3: /*
                      4:        doset( ioptr,offset,whence ) does an lssek on the file described
                      5:        by ioptr with offset and whence.  for output files, the buffer
                      6:        must be flushed before doing the lseek.  for input files, any
                      7:        "unread" characters in the buffer must be lseeked back.
                      8: */
                      9: 
                     10: #include "spitblks.h"
                     11: #include "spitio.h"
                     12: 
                     13: doset( ioptr,offset,whence )
                     14: 
                     15: struct ioblk   *ioptr;
                     16: int    offset;
                     17: int    whence;
                     18: 
                     19: {
                     20:        struct  bfblk   *bfptr;
                     21: 
                     22:        if ( ioptr -> flg & IO_OUP ) {
                     23:                flush( ioptr );
                     24:        } else {
                     25:                ioptr -> flg &= ~IO_EOF;
                     26:                bfptr   = ioptr -> buf;
                     27:                if ( (bfptr -> rem != 0) && (whence == 1) )
                     28:                        lseek( ioptr -> fdn,-(bfptr -> rem),1 );
                     29:                bfptr -> rem = 0;
                     30:                bfptr -> off = 0;
                     31:        }
                     32:        return lseek( ioptr -> fdn,offset,whence );
                     33: }
                     34: 
                     35: 

unix.superglobalmegacorp.com

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