IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Jan 29, 2006, 9:36:21 AM (20 years ago)
Author:
eugene
Message:

adding to queue options, psched handling

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Ohana/src/opihi/cmd.data/queuepop.c

    r4703 r6249  
    33int queuepop (int argc, char **argv) {
    44 
    5   int N;
     5  int N, Key;
    66  char *var;
    77  char *line;
     8  char *Value;
    89  Queue *queue;
    910
     
    1516  }
    1617
     18  Key = -1;
     19  if ((N = get_argument (argc, argv, "-key"))) {
     20    remove_argument (N, &argc, argv);
     21    Key = atoi (argv[N]);
     22    remove_argument (N, &argc, argv);
     23    Value = strcreate (argv[N]);
     24    remove_argument (N, &argc, argv);
     25  }
     26
     27
    1728  if (argc != 2) {
    18     fprintf (stderr, "USAGE: queuepop (queue) [-var variable]\n");
     29    fprintf (stderr, "USAGE: queuepop (queue) [-var variable] [-key N value]\n");
    1930    return (FALSE);
    2031  }
     
    2738  }
    2839
    29   line = PopQueue (queue);
    30   if (line == NULL) {
    31     fprintf (stderr, "ERROR: queue %s is empty\n", argv[1]);
    32     return (FALSE);
     40  if (Key == -1) {
     41      line = PopQueue (queue);
     42  } else {
     43      line = PopQueueMatch (queue, Key, Value);
    3344  }
    3445
    35   if (var == (char *) NULL) {
    36     fprintf (stderr, "%s\n", line);
     46  if (var == NULL) {
     47      if (line == NULL) {
     48          fprintf (stderr, "queue %s is empty or match not found\n", argv[1]);
     49          return (FALSE);
     50      } else {
     51          fprintf (stderr, "%s\n", line);
     52          return (TRUE);
     53      }
     54  }
     55
     56  if (line == NULL) {
     57    set_str_variable (var, "NULL");
    3758  } else {
    38     set_str_variable (argv[2], line);
     59    set_str_variable (var, line);
    3960  }
    4061
Note: See TracChangeset for help on using the changeset viewer.