[PATCH] allow devices as arguments (as well as via -d option)
authorNathan Scott <nathans@sgi.com>
Tue, 6 Sep 2005 06:53:36 +0000 (08:53 +0200)
committerJens Axboe <axboe@suse.de>
Tue, 6 Sep 2005 06:53:36 +0000 (08:53 +0200)
blktrace.c

index bdcd26172ea3bc4cf59593e971065d07145628e0..967a1e8d984b8d1fd8f3020bbf2a167afe213016 100644 (file)
@@ -398,6 +398,13 @@ static void show_stats(void)
        printf("Total:  %20ld events\n", events_processed);
 }
 
+static void show_usage(char *program)
+{
+       fprintf(stderr,"Usage: %s [-d <dev>] "
+                      "[-a <trace> [-a <trace>]] <dev>\n",
+               program);
+}
+
 static void handle_sigint(int sig)
 {
        done = 1;
@@ -433,7 +440,7 @@ int main(int argc, char *argv[])
                        break;
 
                case 'd':
-                       dev = strdup(optarg);
+                       dev = optarg;
                        break;
 
                case 'r':
@@ -448,15 +455,16 @@ int main(int argc, char *argv[])
                        break;
 
                default:
-                       fprintf(stderr,"Usage: %s -d <dev> "
-                                      "[-a <trace> [-a <trace>]]\n", argv[0]);
+                       show_usage(argv[0]);
                        return 4;
                }
        }
 
-       if ((dev == NULL) || (optind < argc)) {
-               fprintf(stderr,"Usage: %s -d <dev> "
-                              "[-a <trace> [-a <trace>]]\n", argv[0]);
+       while (optind < argc)
+               dev = argv[optind++];
+
+       if (dev == NULL) {
+               show_usage(argv[0]);
                return 4;
        }