Annotation of researchv10no/cmd/cfront/libC/oiostream/fstream.c, revision 1.1

1.1     ! root        1: /*ident        "@(#)ctrans:lib/stream/fstream.c        1.1.2.2" */
        !             2: /**************************************************************************
        !             3:                         Copyright (c) 1984 AT&T
        !             4:                           All Rights Reserved   
        !             5: 
        !             6:         THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF AT&T
        !             7:       
        !             8:         The copyright notice above does not evidence any        
        !             9:         actual or intended publication of such source code.
        !            10: 
        !            11: fstream.c:
        !            12: 
        !            13: *****************************************************************************/
        !            14: 
        !            15: #include <iostream.h>
        !            16: #include <fstream.h>
        !            17: 
        !            18: static const int ios_atend = ios::ate ;
        !            19: static const int ios_input = ios::in ;
        !            20: static const int ios_output = ios::out ;
        !            21: static const int ios_append = ios::app ;
        !            22: static const int seek_cur = ios::cur ;
        !            23: static const int seek_end = ios::end ;
        !            24: static const int seek_beg = ios::beg ;
        !            25: 
        !            26: fstreambase::fstreambase() { init(&buf) ; }
        !            27: 
        !            28: fstreambase::fstreambase(const char* name, int mode, int prot)
        !            29: {
        !            30:        init(&buf) ;
        !            31:        open(name,mode,prot) ;
        !            32:        }
        !            33: 
        !            34: fstreambase::fstreambase(int fd) 
        !            35:        : buf(fd) 
        !            36: {
        !            37:        init(&buf) ;
        !            38:        }
        !            39: 
        !            40: fstreambase::fstreambase(int fd, char* p, int l)
        !            41:        : buf(fd,p,l) 
        !            42: {
        !            43:        init(&buf) ;
        !            44:        }
        !            45: 
        !            46: static inline void fstreambase::verify(int ok)
        !            47: {
        !            48:        if ( ok ) clear(0) ;
        !            49:        else      setstate(ios::failbit) ;
        !            50:        }
        !            51: 
        !            52: void fstreambase::setbuf(char* p, int len) 
        !            53: {
        !            54:        verify(buf.setbuf(p,len) != 0 ) ;
        !            55:        }
        !            56: 
        !            57: void fstreambase::open(const char* name, int mode, int prot)
        !            58: {
        !            59:        verify(buf.open(name,mode,prot) != 0 ) ;
        !            60:        }
        !            61: 
        !            62: void fstreambase::attach(int fd ) 
        !            63: {
        !            64:        verify(buf.attach(fd) != 0 ) ;
        !            65:        }
        !            66: 
        !            67: void fstreambase::close() 
        !            68: {
        !            69:        verify(buf.close() != (filebuf*)0 ) ;
        !            70:        }
        !            71: 
        !            72: fstreambase::~fstreambase() { }
        !            73: 
        !            74: ifstream::ifstream() { }
        !            75: ifstream::ifstream(const char* name, int mode, int prot)
        !            76:        : fstreambase(name,mode|ios_input,prot) { }
        !            77: ifstream::ifstream(int fd) : fstreambase(fd) { }
        !            78: ifstream::ifstream(int fd, char* p, int l) : fstreambase(fd,p,l) { }
        !            79: ifstream::~ifstream() { }
        !            80: 
        !            81: void ifstream::open(const char* name, int mode, int prot)
        !            82: {
        !            83:        verify(rdbuf()->open(name,mode|ios_input,prot) != (filebuf*)0 ) ;
        !            84:        }
        !            85: 
        !            86: ofstream::ofstream() { }
        !            87: ofstream::ofstream(const char* name, int mode, int prot)
        !            88:        : fstreambase(name,mode|ios_output,prot) { }
        !            89: ofstream::ofstream(int fd) : fstreambase(fd) { }
        !            90: ofstream::ofstream(int fd, char* p, int l) : fstreambase(fd,p,l) { }
        !            91: ofstream::~ofstream() { }
        !            92: void ofstream::open(const char* name, int mode, int prot)
        !            93: {
        !            94:        verify(rdbuf()->open(name,mode|ios_output,prot) != (filebuf*)0 ) ;
        !            95:        }
        !            96: 
        !            97: fstream::fstream() { }
        !            98: fstream::fstream(const char* name, int mode, int prot)
        !            99:        : fstreambase(name,mode,prot) { }
        !           100: fstream::fstream(int fd) : fstreambase(fd) { }
        !           101: fstream::fstream(int fd, char* p, int l) : fstreambase(fd,p,l) { }
        !           102: fstream::~fstream() { }void fstream::open(const char* name, int mode, int prot)
        !           103: {
        !           104:        verify(rdbuf()->open(name,mode,prot) != (filebuf*)0 ) ;
        !           105:        }

unix.superglobalmegacorp.com

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