Changes in libcfa/src/fstream.cfa [58b6d1b:9d362a0]
- File:
-
- 1 edited
-
libcfa/src/fstream.cfa (modified) (9 diffs)
Legend:
- Unmodified
- Added
- Removed
-
libcfa/src/fstream.cfa
r58b6d1b r9d362a0 10 10 // Created On : Wed May 27 17:56:53 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Tue Jun 5 17:02:56201813 // Update Count : 28112 // Last Modified On : Mon Dec 24 18:33:38 2018 13 // Update Count : 304 14 14 // 15 15 … … 20 20 #include <stdarg.h> // varargs 21 21 #include <string.h> // strlen 22 #include <stdbool.h> // true/false23 22 #include <float.h> // DBL_DIG, LDBL_DIG 24 23 #include <complex.h> // creal, cimag … … 27 26 #define IO_MSG "I/O error: " 28 27 29 void ?{}( ofstream & os, void * file, _Bool sepDefault, _Bool sepOnOff, const char * separator, const char * tupleSeparator ) {28 void ?{}( ofstream & os, void * file, bool sepDefault, bool sepOnOff, bool nlOnOff, bool prt, const char * separator, const char * tupleSeparator ) { 30 29 os.file = file; 31 30 os.sepDefault = sepDefault; 32 31 os.sepOnOff = sepOnOff; 32 os.nlOnOff = nlOnOff; 33 os.prt = prt; 33 34 sepSet( os, separator ); 34 35 sepSetCur( os, sepGet( os ) ); … … 37 38 38 39 // private 39 _Bool sepPrt( ofstream & os ) { setNL( os, false ); return os.sepOnOff; }40 bool sepPrt( ofstream & os ) { setNL( os, false ); return os.sepOnOff; } 40 41 void sepReset( ofstream & os ) { os.sepOnOff = os.sepDefault; } 41 void sepReset( ofstream & os, _Bool reset ) { os.sepDefault = reset; os.sepOnOff = os.sepDefault; }42 void sepReset( ofstream & os, bool reset ) { os.sepDefault = reset; os.sepOnOff = os.sepDefault; } 42 43 const char * sepGetCur( ofstream & os ) { return os.sepCur; } 43 44 void sepSetCur( ofstream & os, const char * sepCur ) { os.sepCur = sepCur; } 44 _Bool getNL( ofstream & os ) { return os.sawNL; } 45 void setNL( ofstream & os, _Bool state ) { os.sawNL = state; } 45 bool getNL( ofstream & os ) { return os.sawNL; } 46 void setNL( ofstream & os, bool state ) { os.sawNL = state; } 47 bool getANL( ofstream & os ) { return os.nlOnOff; } 48 bool getPrt( ofstream & os ) { return os.prt; } 49 void setPrt( ofstream & os, bool state ) { os.prt = state; } 46 50 47 51 // public … … 58 62 void sepOff( ofstream & os ) { os.sepOnOff = false; } 59 63 60 _Bool sepDisable( ofstream & os ) {61 _Bool temp = os.sepDefault;64 bool sepDisable( ofstream & os ) { 65 bool temp = os.sepDefault; 62 66 os.sepDefault = false; 63 67 sepReset( os ); … … 65 69 } // sepDisable 66 70 67 _Bool sepEnable( ofstream & os ) {68 _Bool temp = os.sepDefault;71 bool sepEnable( ofstream & os ) { 72 bool temp = os.sepDefault; 69 73 os.sepDefault = true; 70 74 if ( os.sepOnOff ) sepReset( os ); // start of line ? 71 75 return temp; 72 76 } // sepEnable 77 78 void nlOn( ofstream & os ) { os.nlOnOff = true; } 79 void nlOff( ofstream & os ) { os.nlOnOff = false; } 73 80 74 81 const char * sepGet( ofstream & os ) { return os.separator; } … … 96 103 void open( ofstream & os, const char * name, const char * mode ) { 97 104 FILE *file = fopen( name, mode ); 98 // if ( file == 0 ) { // do not change unless successful 99 // fprintf( stderr, IO_MSG "open output file \"%s\", ", name ); 100 // perror( 0 ); 101 // exit( EXIT_FAILURE ); 102 // } // if 103 (os){ file, true, false, " ", ", " }; 105 #ifdef __CFA_DEBUG__ 106 if ( file == 0 ) { 107 fprintf( stderr, IO_MSG "open output file \"%s\", ", name ); 108 perror( 0 ); 109 exit( EXIT_FAILURE ); 110 } // if 111 #endif // __CFA_DEBUG__ 112 (os){ file, true, false, true, false, " ", ", " }; 104 113 } // open 105 114 … … 141 150 va_end( args ); 142 151 152 setPrt( os, true ); // called in output cascade 143 153 sepReset( os ); // reset separator 144 154 return len; 145 155 } // fmt 146 156 147 static ofstream soutFile = { (FILE *)(&_IO_2_1_stdout_), true, false, " ", ", " };157 static ofstream soutFile = { (FILE *)(&_IO_2_1_stdout_), true, false, true, false, " ", ", " }; 148 158 ofstream & sout = soutFile; 149 static ofstream serrFile = { (FILE *)(&_IO_2_1_stderr_), true, false, " ", ", " };159 static ofstream serrFile = { (FILE *)(&_IO_2_1_stderr_), true, false, true, false, " ", ", " }; 150 160 ofstream & serr = serrFile; 151 161 … … 178 188 void open( ifstream & is, const char * name, const char * mode ) { 179 189 FILE *file = fopen( name, mode ); 180 // if ( file == 0 ) { // do not change unless successful 181 // fprintf( stderr, IO_MSG "open input file \"%s\", ", name ); 182 // perror( 0 ); 183 // exit( EXIT_FAILURE ); 184 // } // if 190 #ifdef __CFA_DEBUG__ 191 if ( file == 0 ) { 192 fprintf( stderr, IO_MSG "open input file \"%s\", ", name ); 193 perror( 0 ); 194 exit( EXIT_FAILURE ); 195 } // if 196 #endif // __CFA_DEBUG__ 185 197 is.file = file; 186 198 } // open
Note:
See TracChangeset
for help on using the changeset viewer.