Changeset 9039
- Timestamp:
- Sep 28, 2006, 2:14:47 PM (20 years ago)
- Location:
- trunk/Ohana/src/opihi
- Files:
-
- 3 edited
-
cmd.basic/output.c (modified) (5 diffs)
-
include/shell.h (modified) (2 diffs)
-
lib.shell/gprint.c (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Ohana/src/opihi/cmd.basic/output.c
r7938 r9039 1 1 # include "basic.h" 2 3 static FILE *outfile;4 2 5 3 int output (int argc, char **argv) { … … 8 6 gpDest dest; 9 7 IOBuffer *buffer; 10 char *output ;8 char *output, *current; 11 9 12 10 dest = GP_LOG; … … 14 12 dest = GP_ERR; 15 13 remove_argument (N, &argc, argv); 14 } 15 16 if ((N = get_argument (argc, argv, "-current"))) { 17 current = gprintGetName (dest); 18 remove_argument (N, &argc, argv); 19 set_str_variable (argv[N], current); 20 remove_argument (N, &argc, argv); 21 return (TRUE); 16 22 } 17 23 … … 42 48 43 49 if (argc != 2) { 44 gprint (GP_ERR, "USAGE: output <filename> [-err] [-buffer] [- dump filename]\n");50 gprint (GP_ERR, "USAGE: output <filename> [-err] [-buffer] [-current var] [-dump filename]\n"); 45 51 return (FALSE); 46 52 } … … 49 55 return (TRUE); 50 56 } 51 52 FILE *GetOutfile () {53 return (outfile);54 }55 56 void InitOutfile () {57 outfile = stdout;58 } -
trunk/Ohana/src/opihi/include/shell.h
r8554 r9039 42 42 typedef struct { 43 43 FILE *file; 44 char *name; 44 45 IOBuffer *buffer; 45 46 gpMode mode; … … 105 106 char *VarConfig PROTO((char *keyword, char *mode, void *ptr)); 106 107 char *VarConfigEntry PROTO((char *keyword, char *mode, int entry, void *ptr)); 107 FILE *GetOutfile PROTO((void));108 void InitOutfile PROTO((void));109 108 110 109 int push_error PROTO((char *line)); -
trunk/Ohana/src/opihi/lib.shell/gprint.c
r7929 r9039 50 50 streams[N].dest = GP_LOG; 51 51 streams[N].file = stdout; 52 streams[N].name = strcreate ("stdout"); 53 52 54 ALLOCATE (streams[N].buffer, IOBuffer, 1); 53 55 InitIOBuffer (streams[N].buffer, 64); … … 58 60 streams[N].dest = GP_ERR; 59 61 streams[N].file = stderr; 62 streams[N].name = strcreate ("stderr"); 63 60 64 ALLOCATE (streams[N].buffer, IOBuffer, 1); 61 65 InitIOBuffer (streams[N].buffer, 64); … … 137 141 skip_close: 138 142 143 free (stream[0].name); 144 139 145 /* we allow the user to set stdout to ERR and stderr to LOG if they want */ 140 146 if (!strcmp (filename, "stdout")) { 141 147 stream[0].file = stdout; 148 stream[0].name = strcreate (filename); 142 149 goto skip_open; 143 150 } 144 151 if (!strcmp (filename, "stderr")) { 145 152 stream[0].file = stderr; 153 stream[0].name = strcreate (filename); 146 154 goto skip_open; 147 155 } … … 152 160 fprintf (stderr, "cannot open file %s\n", filename); 153 161 stream[0].file = (dest == GP_LOG) ? stdout : stderr; 162 stream[0].name = (dest == GP_LOG) ? strcreate ("stdout") : strcreate("stderr"); 163 } else { 164 stream[0].name = strcreate (filename); 154 165 } 155 166 … … 163 174 stream = gprintGetStream (dest); 164 175 return (stream[0].file); 176 } 177 178 char *gprintGetName (gpDest dest) { 179 180 gpStream *stream; 181 stream = gprintGetStream (dest); 182 return (stream[0].name); 165 183 } 166 184
Note:
See TracChangeset
for help on using the changeset viewer.
