IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 9039


Ignore:
Timestamp:
Sep 28, 2006, 2:14:47 PM (20 years ago)
Author:
eugene
Message:

adding gprintGetName

Location:
trunk/Ohana/src/opihi
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Ohana/src/opihi/cmd.basic/output.c

    r7938 r9039  
    11# include "basic.h"
    2 
    3 static FILE *outfile;
    42
    53int output (int argc, char **argv) {
     
    86  gpDest dest;
    97  IOBuffer *buffer;
    10   char *output;
     8  char *output, *current;
    119
    1210  dest = GP_LOG;
     
    1412    dest = GP_ERR;
    1513    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);
    1622  }
    1723
     
    4248   
    4349  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");
    4551    return (FALSE);
    4652  }
     
    4955  return (TRUE);
    5056}
    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  
    4242typedef struct {
    4343  FILE *file;
     44  char *name;
    4445  IOBuffer *buffer;
    4546  gpMode mode;
     
    105106char         *VarConfig                 PROTO((char *keyword, char *mode, void *ptr));
    106107char         *VarConfigEntry            PROTO((char *keyword, char *mode, int entry, void *ptr));
    107 FILE         *GetOutfile                PROTO((void));
    108 void          InitOutfile               PROTO((void));
    109108
    110109int           push_error                PROTO((char *line));
  • trunk/Ohana/src/opihi/lib.shell/gprint.c

    r7929 r9039  
    5050  streams[N].dest = GP_LOG;
    5151  streams[N].file = stdout;
     52  streams[N].name = strcreate ("stdout");
     53
    5254  ALLOCATE (streams[N].buffer, IOBuffer, 1);
    5355  InitIOBuffer (streams[N].buffer, 64);
     
    5860  streams[N].dest = GP_ERR;
    5961  streams[N].file = stderr;
     62  streams[N].name = strcreate ("stderr");
     63
    6064  ALLOCATE (streams[N].buffer, IOBuffer, 1);
    6165  InitIOBuffer (streams[N].buffer, 64);
     
    137141skip_close:
    138142 
     143  free (stream[0].name);
     144
    139145  /* we allow the user to set stdout to ERR and stderr to LOG if they want */
    140146  if (!strcmp (filename, "stdout")) {
    141147    stream[0].file = stdout;
     148    stream[0].name = strcreate (filename);
    142149    goto skip_open;
    143150  }
    144151  if (!strcmp (filename, "stderr")) {
    145152    stream[0].file = stderr;
     153    stream[0].name = strcreate (filename);
    146154    goto skip_open;
    147155  }
     
    152160    fprintf (stderr, "cannot open file %s\n", filename);
    153161    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);
    154165  }
    155166
     
    163174  stream = gprintGetStream (dest);
    164175  return (stream[0].file);
     176}
     177
     178char *gprintGetName (gpDest dest) {
     179
     180  gpStream *stream;
     181  stream = gprintGetStream (dest);
     182  return (stream[0].name);
    165183}
    166184
Note: See TracChangeset for help on using the changeset viewer.