perf options: Type check OPT_BOOLEAN and fix the offenders
authorArnaldo Carvalho de Melo <acme@redhat.com>
Mon, 17 May 2010 18:51:10 +0000 (15:51 -0300)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Mon, 17 May 2010 19:22:37 +0000 (16:22 -0300)
Cc: Frédéric Weisbecker <fweisbec@gmail.com>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Stephane Eranian <eranian@google.com>
Cc: Tom Zanussi <tzanussi@gmail.com>
LKML-Reference: <new-submission>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/builtin-kvm.c
tools/perf/builtin-lock.c
tools/perf/builtin-test.c
tools/perf/perf.h
tools/perf/util/parse-options.h

index a4c7cae..b1c6b38 100644 (file)
@@ -22,8 +22,8 @@
 static char                    *file_name;
 static char                    name_buffer[256];
 
-int                            perf_host = 1;
-int                            perf_guest;
+bool                           perf_host = 1;
+bool                           perf_guest;
 
 static const char * const kvm_usage[] = {
        "perf kvm [<options>] {top|record|report|diff|buildid-list}",
index e18dfdc..821c158 100644 (file)
@@ -792,8 +792,7 @@ static void print_result(void)
        print_bad_events(bad, total);
 }
 
-static int                     info_threads;
-static int                     info_map;
+static bool info_threads, info_map;
 
 static void dump_threads(void)
 {
index 0339612..035b9fa 100644 (file)
@@ -257,7 +257,7 @@ static const char * const test_usage[] = {
 };
 
 static const struct option test_options[] = {
-       OPT_BOOLEAN('v', "verbose", &verbose,
+       OPT_INTEGER('v', "verbose", &verbose,
                    "be more verbose (show symbol address, etc)"),
        OPT_END()
 };
index 02821fe..ef7aa0a 100644 (file)
@@ -80,6 +80,7 @@ void get_term_dimensions(struct winsize *ws);
 
 #include "../../include/linux/perf_event.h"
 #include "util/types.h"
+#include <stdbool.h>
 
 /*
  * prctl(PR_TASK_PERF_EVENTS_DISABLE) will (cheaply) disable all
@@ -131,6 +132,6 @@ struct ip_callchain {
        u64 ips[0];
 };
 
-extern int perf_host, perf_guest;
+extern bool perf_host, perf_guest;
 
 #endif
index 9ca348e..5838e2d 100644 (file)
@@ -2,6 +2,7 @@
 #define __PERF_PARSE_OPTIONS_H
 
 #include <linux/kernel.h>
+#include <stdbool.h>
 
 enum parse_opt_type {
        /* special types */
@@ -101,7 +102,7 @@ struct option {
 #define OPT_ARGUMENT(l, h)          { .type = OPTION_ARGUMENT, .long_name = (l), .help = (h) }
 #define OPT_GROUP(h)                { .type = OPTION_GROUP, .help = (h) }
 #define OPT_BIT(s, l, v, h, b)      { .type = OPTION_BIT, .short_name = (s), .long_name = (l), .value = (v), .help = (h), .defval = (b) }
-#define OPT_BOOLEAN(s, l, v, h)     { .type = OPTION_BOOLEAN, .short_name = (s), .long_name = (l), .value = (v), .help = (h) }
+#define OPT_BOOLEAN(s, l, v, h)     { .type = OPTION_BOOLEAN, .short_name = (s), .long_name = (l), .value = check_vtype(v, bool *), .help = (h) }
 #define OPT_INCR(s, l, v, h)        { .type = OPTION_INCR, .short_name = (s), .long_name = (l), .value = (v), .help = (h) }
 #define OPT_SET_INT(s, l, v, h, i)  { .type = OPTION_SET_INT, .short_name = (s), .long_name = (l), .value = (v), .help = (h), .defval = (i) }
 #define OPT_SET_PTR(s, l, v, h, p)  { .type = OPTION_SET_PTR, .short_name = (s), .long_name = (l), .value = (v), .help = (h), .defval = (p) }