Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/libcfa/fstream.c

    r53a6c2a rd395012  
    1010// Created On       : Wed May 27 17:56:53 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Thu Jul  6 18:38:25 2017
    13 // Update Count     : 251
     12// Last Modified On : Sat Jul  1 16:37:54 2017
     13// Update Count     : 242
    1414//
    1515
     
    3333        this->sepDefault = sepDefault;
    3434        this->sepOnOff = sepOnOff;
     35        this->lastSepOn = false;
    3536        sepSet( this, separator );
    3637        sepSetCur( this, sepGet( this ) );
     
    3940
    4041// private
    41 _Bool sepPrt( ofstream * os ) { setNL( os, false ); return os->sepOnOff; }
     42_Bool lastSepOn( ofstream * os ) { return os->lastSepOn; }
     43_Bool sepPrt( ofstream * os ) { os->lastSepOn = false; return os->sepOnOff; }
    4244void sepReset( ofstream * os ) { os->sepOnOff = os->sepDefault; }
    4345void sepReset( ofstream * os, _Bool reset ) { os->sepDefault = reset; os->sepOnOff = os->sepDefault; }
    4446const char * sepGetCur( ofstream * os ) { return os->sepCur; }
    4547void sepSetCur( ofstream * os, const char * sepCur ) { os->sepCur = sepCur; }
    46 _Bool getNL( ofstream * os ) { return os->sawNL; }
    47 void setNL( ofstream * os, _Bool state ) { os->sawNL = state; }
    4848
    4949// public
    50 void sepOn( ofstream * os ) { os->sepOnOff = ! getNL( os ); }
    51 void sepOff( ofstream * os ) { os->sepOnOff = false; }
     50void sepOn( ofstream * os ) { os->lastSepOn = true; os->sepOnOff = true; }
     51void sepOff( ofstream * os ) { os->lastSepOn = false; os->sepOnOff = 0; }
    5252
    5353_Bool sepDisable( ofstream *os ) {
    5454        _Bool temp = os->sepDefault;
    5555        os->sepDefault = false;
     56        os->lastSepOn = false;
    5657        sepReset( os );
    5758        return temp;
     
    6869void sepSet( ofstream * os, const char * s ) {
    6970        assert( s );
    70         strncpy( os->separator, s, sepSize - 1 );
    71         os->separator[sepSize - 1] = '\0';
     71        strncpy( os->separator, s, separateSize - 1 );
     72        os->separator[separateSize - 1] = '\0';
    7273} // sepSet
    7374
     
    7576void sepSetTuple( ofstream * os, const char * s ) {
    7677        assert( s );
    77         strncpy( os->tupleSeparator, s, sepSize - 1 );
    78         os->tupleSeparator[sepSize - 1] = '\0';
     78        strncpy( os->tupleSeparator, s, separateSize - 1 );
     79        os->tupleSeparator[separateSize - 1] = '\0';
    7980} // sepSet
    8081
     
    152153
    153154void open( ifstream * is, const char * name, const char * mode ) {
    154         FILE *file = fopen( name, mode );
    155         if ( file == 0 ) {                                                                      // do not change unless successful
     155        FILE *t = fopen( name, mode );
     156        if ( t == 0 ) {                                                                         // do not change unless successful
    156157                fprintf( stderr, IO_MSG "open input file \"%s\", ", name );
    157158                perror( 0 );
    158159                exit( EXIT_FAILURE );
    159160        } // if
    160         is->file = file;
     161        is->file = t;
    161162} // open
    162163
Note: See TracChangeset for help on using the changeset viewer.