Changes in / [bee653c:b611fc3]


Ignore:
Location:
libcfa/src
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • libcfa/src/fstream.cfa

    rbee653c rb611fc3  
    1010// Created On       : Wed May 27 17:56:53 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Thu Mar 28 17:39:53 2019
    13 // Update Count     : 307
     12// Last Modified On : Mon Dec 24 18:33:38 2018
     13// Update Count     : 304
    1414//
    1515
     
    2323#include <complex.h>                                                                    // creal, cimag
    2424#include <assert.h>
    25 #include <errno.h>                                                                              // errno
    2625
    2726#define IO_MSG "I/O error: "
     
    106105        #ifdef __CFA_DEBUG__
    107106        if ( file == 0 ) {
    108                 abort( IO_MSG "open output file \"%s\", %s", name, strerror( errno ) );
     107                fprintf( stderr, IO_MSG "open output file \"%s\", ", name );
     108                perror( 0 );
     109                exit( EXIT_FAILURE );
    109110        } // if
    110111        #endif // __CFA_DEBUG__
     
    120121
    121122        if ( fclose( (FILE *)(os.file) ) == EOF ) {
    122                 abort( IO_MSG "close output %s", strerror( errno ) );
     123                perror( IO_MSG "close output" );
    123124        } // if
    124125} // close
     
    126127ofstream & write( ofstream & os, const char * data, size_t size ) {
    127128        if ( fail( os ) ) {
    128                 abort( "attempt write I/O on failed stream\n" );
     129                fprintf( stderr, "attempt write I/O on failed stream\n" );
     130                exit( EXIT_FAILURE );
    129131        } // if
    130132
    131133        if ( fwrite( data, 1, size, (FILE *)(os.file) ) != size ) {
    132                 abort( IO_MSG "write %s", strerror( errno ) );
     134                perror( IO_MSG "write" );
     135                exit( EXIT_FAILURE );
    133136        } // if
    134137        return os;
     
    141144        if ( len == EOF ) {
    142145                if ( ferror( (FILE *)(os.file) ) ) {
    143                         abort( "invalid write\n" );
     146                        fprintf( stderr, "invalid write\n" );
     147                        exit( EXIT_FAILURE );
    144148                } // if
    145149        } // if
     
    183187
    184188void open( ifstream & is, const char * name, const char * mode ) {
    185         FILE * file = fopen( name, mode );
     189        FILE *file = fopen( name, mode );
    186190        #ifdef __CFA_DEBUG__
    187191        if ( file == 0 ) {
    188                 abort( IO_MSG "open input file \"%s\", %s\n", name, strerror( errno ) );
     192                fprintf( stderr, IO_MSG "open input file \"%s\", ", name );
     193                perror( 0 );
     194                exit( EXIT_FAILURE );
    189195        } // if
    190196        #endif // __CFA_DEBUG__
     
    200206
    201207        if ( fclose( (FILE *)(is.file) ) == EOF ) {
    202                 abort( IO_MSG "close input %s", strerror( errno ) );
     208                perror( IO_MSG "close input" );
    203209        } // if
    204210} // close
     
    206212ifstream & read( ifstream & is, char * data, size_t size ) {
    207213        if ( fail( is ) ) {
    208                 abort( "attempt read I/O on failed stream\n" );
     214                fprintf( stderr, "attempt read I/O on failed stream\n" );
     215                exit( EXIT_FAILURE );
    209216        } // if
    210217
    211218        if ( fread( data, size, 1, (FILE *)(is.file) ) == 0 ) {
    212                 abort( IO_MSG "read %s", strerror( errno ) );
     219                perror( IO_MSG "read" );
     220                exit( EXIT_FAILURE );
    213221        } // if
    214222        return is;
     
    217225ifstream &ungetc( ifstream & is, char c ) {
    218226        if ( fail( is ) ) {
    219                 abort( "attempt ungetc I/O on failed stream\n" );
     227                fprintf( stderr, "attempt ungetc I/O on failed stream\n" );
     228                exit( EXIT_FAILURE );
    220229        } // if
    221230
    222231        if ( ungetc( c, (FILE *)(is.file) ) == EOF ) {
    223                 abort( IO_MSG "ungetc %s", strerror( errno ) );
     232                perror( IO_MSG "ungetc" );
     233                exit( EXIT_FAILURE );
    224234        } // if
    225235        return is;
     
    233243        if ( len == EOF ) {
    234244                if ( ferror( (FILE *)(is.file) ) ) {
    235                         abort( "invalid read\n" );
     245                        fprintf( stderr, "invalid read\n" );
     246                        exit( EXIT_FAILURE );
    236247                } // if
    237248        } // if
  • libcfa/src/rational.cfa

    rbee653c rb611fc3  
    1010// Created On       : Wed Apr  6 17:54:28 2016
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Thu Mar 28 17:33:03 2019
    13 // Update Count     : 181
     12// Last Modified On : Wed Mar 27 08:45:59 2019
     13// Update Count     : 180
    1414//
    1515
     
    3535        static RationalImpl simplify( RationalImpl & n, RationalImpl & d ) {
    3636                if ( d == (RationalImpl){0} ) {
    37                         abort( "Invalid rational number construction: denominator cannot be equal to 0.\n" );
     37                        serr | "Invalid rational number construction: denominator cannot be equal to 0.";
     38                        exit( EXIT_FAILURE );
    3839                } // exit
    3940                if ( d < (RationalImpl){0} ) { d = -d; n = -n; } // move sign to numerator
Note: See TracChangeset for help on using the changeset viewer.