IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Jul 16, 2006, 10:58:49 PM (20 years ago)
Author:
eugene
Message:

major updates to use gprint for buffered / threaded printing

File:
1 edited

Legend:

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

    r2598 r7917  
    55int output (int argc, char **argv) {
    66 
     7  int N;
     8  gpDest dest;
     9  IOBuffer *buffer;
     10
     11  dest = GP_LOG;
     12  if ((N = get_argument (argc, argv, "-err"))) {
     13    dest = GP_ERR;
     14    remove_argument (N, &argc, argv);
     15  }
     16
     17  if ((N = get_argument (argc, argv, "-buffer"))) {
     18    remove_argument (N, &argc, argv);
     19    gprintSetBuffer (dest);
     20    return (TRUE);
     21  }
     22   
     23  if ((N = get_argument (argc, argv, "-dump"))) {
     24    remove_argument (N, &argc, argv);
     25    buffer = gprintGetBuffer (dest);
     26    fprintf (STDERR, "buffer contents: \n");
     27    fwrite (buffer[0].buffer, 1, buffer[0].Nbuffer, stderr);
     28    fprintf (STDERR, "\n");
     29    return (TRUE);
     30  }
     31   
    732  if (argc != 2) {
    8     fprintf (stderr, "USAGE: output <filename>\n");
     33    gprint (GP_ERR, "USAGE: output <filename>\n");
    934    return (FALSE);
    1035  }
    1136
    12   fflush (outfile);
    13   if (outfile != stdout) fclose (outfile);
    14  
    15   /* we only use stdout, but let stderr be a synonym */
    16   outfile = stdout;
    17   if (strcmp (argv[1], "stdout") && strcmp (argv[1], "stderr")) {
    18     outfile = fopen (argv[1], "a");
    19   }
    20 
    21   if (outfile == NULL) {
    22     fprintf (stderr, "cannot open file %s\n", argv[1]);
    23     outfile = stdout;
    24   }
     37  gprintSetFile (dest, argv[1]);
    2538  return (TRUE);
    2639}
     
    3346  outfile = stdout;
    3447}
     48
     49/* we could add the concept of saving the output to a buffer
     50   then dumping to the target of the output stream.  not sure
     51   what the command should look like... */
Note: See TracChangeset for help on using the changeset viewer.