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

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

unix.superglobalmegacorp.com

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