Changeset 78885b5 for src/libcfa/fstream.c
- Timestamp:
- Apr 7, 2016, 1:05:12 PM (8 years ago)
- Branches:
- ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, ctor, deferred_resn, demangler, enum, forall-pointer-decay, gc_noraii, jacob/cs343-translation, jenkins-sandbox, master, memory, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, string, with_gc
- Children:
- 8a34677
- Parents:
- bc1ab61 (diff), 53ba273 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/libcfa/fstream.c
rbc1ab61 r78885b5 10 10 // Created On : Wed May 27 17:56:53 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon Feb 29 18:41:10201613 // Update Count : 1 6212 // Last Modified On : Wed Apr 6 17:55:27 2016 13 // Update Count : 176 14 14 // 15 15 … … 25 25 } 26 26 27 #define IO_MSG "I/O error "27 #define IO_MSG "I/O error: " 28 28 29 _Bool sepPrt( ofstream * os ) { return os->separate == 1; } 30 void sepOn( ofstream * os ) { if ( os->separate != 2 ) os->separate = 1; } 31 void sepOff( ofstream * os ) { if ( os->separate != 2 ) os->separate = 0; } 29 _Bool sepPrt( ofstream * os ) { return os->sepOnOff; } 30 void sepOn( ofstream * os ) { os->sepOnOff = 1; } 31 void sepOff( ofstream * os ) { os->sepOnOff = 0; } 32 void sepReset( ofstream * os ) { os->sepOnOff = os->sepDefault; } 33 void sepReset( ofstream * os, _Bool reset ) { os->sepDefault = reset; os->sepOnOff = os->sepDefault; } 32 34 void sepSet( ofstream * os, const char * s ) { 33 35 strncpy( &(os->separator[0]), s, separateSize - 1 ); … … 35 37 } // sepSet 36 38 const char * sepGet( ofstream * os ) { return &(os->separator[0]); } 37 void sepDisable( ofstream *os ) { os->separate = 2; } 38 void sepEnable( ofstream *os ) { os->separate = 0; } 39 _Bool sepDisable( ofstream *os ) { 40 _Bool temp = os->sepDefault; 41 os->sepDefault = 0; 42 sepReset( os ); 43 return temp; 44 } // sepDisable 45 _Bool sepEnable( ofstream *os ) { 46 _Bool temp = os->sepDefault; 47 os->sepDefault = 1; 48 sepReset( os ); 49 return temp; 50 } // sepEnable 39 51 40 52 int fail( ofstream * os ) { … … 49 61 FILE *file = fopen( name, mode ); 50 62 if ( file == 0 ) { // do not change unless successful 51 perror( IO_MSG "open output" ); 63 fprintf( stderr, IO_MSG "open output file \"%s\", ", name ); 64 perror( 0 ); 52 65 exit( EXIT_FAILURE ); 53 66 } // if … … 94 107 95 108 96 static ofstream soutFile = { (FILE *)(&_IO_2_1_stdout_), 0, { ' ', '\0' } };109 static ofstream soutFile = { (FILE *)(&_IO_2_1_stdout_), 1, 0, { ' ', '\0' } }; 97 110 ofstream *sout = &soutFile; 98 static ofstream serrFile = { (FILE *)(&_IO_2_1_stderr_), 0, { ' ', '\0' } };111 static ofstream serrFile = { (FILE *)(&_IO_2_1_stderr_), 1, 0, { ' ', '\0' } }; 99 112 ofstream *serr = &serrFile; 100 113 … … 114 127 FILE *t = fopen( name, mode ); 115 128 if ( t == 0 ) { // do not change unless successful 116 perror( IO_MSG "open input" ); 129 fprintf( stderr, IO_MSG "open input file \"%s\", ", name ); 130 perror( 0 ); 117 131 exit( EXIT_FAILURE ); 118 132 } // if … … 175 189 // Local Variables: // 176 190 // tab-width: 4 // 177 // compile-command: "cfa fstream.c" //178 191 // End: //
Note: See TracChangeset
for help on using the changeset viewer.