]> Pileus Git - ~andy/rsl/blobdiff - examples/wsr_hist_uf_test.c
Changes from Bart (2011-02-01)
[~andy/rsl] / examples / wsr_hist_uf_test.c
index 615b5726ea6fff99947d90c1bf877b25e82fdec8..c7b129ae054202b0eeba22370389c9caeb7a1135 100644 (file)
 #endif
 #include <stdlib.h>
 #include <string.h>
+#include <unistd.h>
 
 #include "rsl.h"
 
 
 usage()
 {
-  fprintf(stderr,"Usage: wsr_hist_uf_test infile\n");
+  fprintf(stderr,"Usage: wsr_hist_uf_test infile [-s site_id]\n");
   exit(-1);
 }
 
-process_args(int argc, char **argv, char **in_file)
+process_args(int argc, char **argv, char **in_file, char **site)
 {
-  if (argc == 2) *in_file = strdup(argv[1]);
+  int c;
+  
+  while ((c = getopt(argc, argv, "s:")) != -1)
+       switch (c) {
+       case 's': *site = strdup(optarg); break;
+       case '?': usage(argv); break;
+       default:  break;
+       }
+  if (argc - optind == 1) *in_file = strdup(argv[optind]);
   else usage();
 }
 
@@ -40,14 +49,15 @@ process_args(int argc, char **argv, char **in_file)
 main(int argc, char **argv)
 {
   char *infile;
+  char *site = NULL;
 
   Radar *radar;
   Histogram *histogram = NULL;
 
-  process_args(argc, argv, &infile);
+  process_args(argc, argv, &infile, &site);
   RSL_radar_verbose_on();
 
-  if ((radar = RSL_anyformat_to_radar(infile, "KMLB")) == NULL) {
+  if ((radar = RSL_anyformat_to_radar(infile, site)) == NULL) {
        /* RSL_wsr88d_to_radar writes an error message to stdout. */
        exit(-1);
   }