Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • libcfa/src/fstream.cfa

    rba0d2ea r00e9be9  
    1010// Created On       : Wed May 27 17:56:53 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Thu Jul 29 22:34:10 2021
    13 // Update Count     : 454
     12// Last Modified On : Wed Apr 28 20:37:53 2021
     13// Update Count     : 445
    1414//
    1515
     
    142142
    143143        if ( fclose( (FILE *)(os.file$) ) == EOF ) {
    144                 throw (Close_Failure){ os };
    145                 // abort | IO_MSG "close output" | nl | strerror( errno );
     144                abort | IO_MSG "close output" | nl | strerror( errno );
    146145        } // if
    147146        os.file$ = 0p;
     
    150149ofstream & write( ofstream & os, const char data[], size_t size ) {
    151150        if ( fail( os ) ) {
    152                 throw (Write_Failure){ os };
    153                 // abort | IO_MSG "attempt write I/O on failed stream";
     151                abort | IO_MSG "attempt write I/O on failed stream";
    154152        } // if
    155153
    156154        if ( fwrite( data, 1, size, (FILE *)(os.file$) ) != size ) {
    157                 throw (Write_Failure){ os };
    158                 // abort | IO_MSG "write" | nl | strerror( errno );
     155                abort | IO_MSG "write" | nl | strerror( errno );
    159156        } // if
    160157        return os;
     
    280277
    281278        if ( fclose( (FILE *)(is.file$) ) == EOF ) {
    282                 throw (Close_Failure){ is };
    283                 // abort | IO_MSG "close input" | nl | strerror( errno );
     279                abort | IO_MSG "close input" | nl | strerror( errno );
    284280        } // if
    285281        is.file$ = 0p;
     
    288284ifstream & read( ifstream & is, char data[], size_t size ) {
    289285        if ( fail( is ) ) {
    290                 throw (Read_Failure){ is };
    291                 // abort | IO_MSG "attempt read I/O on failed stream";
     286                abort | IO_MSG "attempt read I/O on failed stream";
    292287        } // if
    293288
    294289        if ( fread( data, size, 1, (FILE *)(is.file$) ) == 0 ) {
    295                 throw (Read_Failure){ is };
    296                 // abort | IO_MSG "read" | nl | strerror( errno );
     290                abort | IO_MSG "read" | nl | strerror( errno );
    297291        } // if
    298292        return is;
     
    344338
    345339
    346 static vtable(Open_Failure) Open_Failure_vt;
    347 
    348 // exception I/O constructors
     340EHM_VIRTUAL_TABLE(Open_Failure, Open_Failure_main_table);
    349341void ?{}( Open_Failure & this, ofstream & ostream ) {
    350         this.virtual_table = &Open_Failure_vt;
     342        this.virtual_table = &Open_Failure_main_table;
    351343        this.ostream = &ostream;
    352344        this.tag = 1;
    353 } // ?{}
    354 
     345}
    355346void ?{}( Open_Failure & this, ifstream & istream ) {
    356         this.virtual_table = &Open_Failure_vt;
     347        this.virtual_table = &Open_Failure_main_table;
    357348        this.istream = &istream;
    358349        this.tag = 0;
    359 } // ?{}
    360 
    361 
    362 static vtable(Close_Failure) Close_Failure_vt;
    363 
    364 // exception I/O constructors
    365 void ?{}( Close_Failure & this, ofstream & ostream ) {
    366         this.virtual_table = &Close_Failure_vt;
    367         this.ostream = &ostream;
    368         this.tag = 1;
    369 } // ?{}
    370 
    371 void ?{}( Close_Failure & this, ifstream & istream ) {
    372         this.virtual_table = &Close_Failure_vt;
    373         this.istream = &istream;
    374         this.tag = 0;
    375 } // ?{}
    376 
    377 
    378 static vtable(Write_Failure) Write_Failure_vt;
    379 
    380 // exception I/O constructors
    381 void ?{}( Write_Failure & this, ofstream & ostream ) {
    382         this.virtual_table = &Write_Failure_vt;
    383         this.ostream = &ostream;
    384         this.tag = 1;
    385 } // ?{}
    386 
    387 void ?{}( Write_Failure & this, ifstream & istream ) {
    388         this.virtual_table = &Write_Failure_vt;
    389         this.istream = &istream;
    390         this.tag = 0;
    391 } // ?{}
    392 
    393 
    394 static vtable(Read_Failure) Read_Failure_vt;
    395 
    396 // exception I/O constructors
    397 void ?{}( Read_Failure & this, ofstream & ostream ) {
    398         this.virtual_table = &Read_Failure_vt;
    399         this.ostream = &ostream;
    400         this.tag = 1;
    401 } // ?{}
    402 
    403 void ?{}( Read_Failure & this, ifstream & istream ) {
    404         this.virtual_table = &Read_Failure_vt;
    405         this.istream = &istream;
    406         this.tag = 0;
    407 } // ?{}
    408 
    409 // void throwOpen_Failure( ofstream & ostream ) {
    410 //      Open_Failure exc = { ostream };
    411 // }
    412 
    413 // void throwOpen_Failure( ifstream & istream ) {
    414 //      Open_Failure exc = { istream };
    415 // }
     350}
     351void throwOpen_Failure( ofstream & ostream ) {
     352        Open_Failure exc = { ostream };
     353}
     354void throwOpen_Failure( ifstream & istream ) {
     355        Open_Failure exc = { istream };
     356}
    416357
    417358// Local Variables: //
Note: See TracChangeset for help on using the changeset viewer.