Changeset 15791 for trunk/Ohana/src/opihi/lib.shell/gprint.c
- Timestamp:
- Dec 12, 2007, 9:52:11 AM (19 years ago)
- File:
-
- 1 edited
-
trunk/Ohana/src/opihi/lib.shell/gprint.c (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Ohana/src/opihi/lib.shell/gprint.c
r15030 r15791 126 126 } 127 127 128 void gprintSetFile (gpDest dest, char *filename) { 129 130 gpStream *stream; 131 stream = gprintGetStream (dest); 128 void gprintSetFileAllThreads (gpDest dest, char *filename) { 129 130 int i; 131 132 for (i = 0; i < Nstreams; i++) { 133 if (streams[i].dest != dest) continue; 134 gprintSetFile (&streams[i], dest, filename); 135 } 136 return; 137 } 138 139 void gprintSetFileThisThread (gpDest dest, char *filename) { 140 141 gpStream *stream; 142 stream = gprintGetStream (dest); 143 144 gprintSetFile (stream, dest, filename); 145 return; 146 } 147 148 void gprintSetFile (gpStream *stream, gpDest dest, char *filename) { 132 149 133 150 /* if we have an open buffer, free it and null it */ … … 146 163 } 147 164 skip_close: 148 149 free (stream[0].name); 165 166 // if NULL, reuse exising stream name 167 if (filename != NULL) { 168 free (stream[0].name); 169 stream[0].name = strcreate (filename); 170 } 150 171 151 172 /* we allow the user to set stdout to ERR and stderr to LOG if they want */ 152 if (!strcmp ( filename, "stdout")) {173 if (!strcmp (stream[0].name, "stdout")) { 153 174 stream[0].file = stdout; 154 stream[0].name = strcreate (filename);155 175 goto skip_open; 156 176 } 157 if (!strcmp ( filename, "stderr")) {177 if (!strcmp (stream[0].name, "stderr")) { 158 178 stream[0].file = stderr; 159 stream[0].name = strcreate (filename);160 179 goto skip_open; 161 180 } 162 181 163 182 /* open the file */ 164 stream[0].file = fopen ( filename, "a");183 stream[0].file = fopen (stream[0].name, "a"); 165 184 if (stream[0].file == NULL) { 166 fprintf (stderr, "cannot open file %s\n", filename); 185 fprintf (stderr, "cannot open file %s\n", stream[0].name); 186 free (stream[0].name); 167 187 stream[0].file = (dest == GP_LOG) ? stdout : stderr; 168 188 stream[0].name = (dest == GP_LOG) ? strcreate ("stdout") : strcreate("stderr"); 169 } else {170 stream[0].name = strcreate (filename);171 189 } 172 190 173 191 skip_open: 174 192 stream[0].mode = GP_FILE; 193 return; 175 194 } 176 195
Note:
See TracChangeset
for help on using the changeset viewer.
