diff options
author | Lai Jiangshan <laijs@cn.fujitsu.com> | 2011-03-10 04:58:01 -0500 |
---|---|---|
committer | Steven Rostedt <rostedt@goodmis.org> | 2011-03-11 15:57:36 -0500 |
commit | ca7abd20cfe0f71337cd5170e9f3b52a130b4c5c (patch) | |
tree | 323509f9c8e419712f6fae7eaa4540883e87c5f3 | |
parent | 96651c4917bb38ed015d5595d50212761289375a (diff) |
trace-cmd: Fold long option parsing
Signed-off-by: Lai Jiangshan <laijs@cn.fujitsu.com>
LKML-Reference: <4D78A0A9.40000@cn.fujitsu.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
-rw-r--r-- | trace-listen.c | 12 | ||||
-rw-r--r-- | trace-read.c | 35 | ||||
-rw-r--r-- | trace-record.c | 14 | ||||
-rw-r--r-- | trace-stack.c | 32 |
4 files changed, 40 insertions, 53 deletions
diff --git a/trace-listen.c b/trace-listen.c index e60c96b..daaffca 100644 --- a/trace-listen.c +++ b/trace-listen.c | |||
@@ -647,6 +647,8 @@ static void start_daemon(void) | |||
647 | die("starting daemon"); | 647 | die("starting daemon"); |
648 | } | 648 | } |
649 | 649 | ||
650 | #define OPT_debug 255 | ||
651 | |||
650 | void trace_listen(int argc, char **argv) | 652 | void trace_listen(int argc, char **argv) |
651 | { | 653 | { |
652 | char *logfile = NULL; | 654 | char *logfile = NULL; |
@@ -666,7 +668,7 @@ void trace_listen(int argc, char **argv) | |||
666 | static struct option long_options[] = { | 668 | static struct option long_options[] = { |
667 | {"port", required_argument, NULL, 'p'}, | 669 | {"port", required_argument, NULL, 'p'}, |
668 | {"help", no_argument, NULL, '?'}, | 670 | {"help", no_argument, NULL, '?'}, |
669 | {"debug", no_argument, NULL, 0}, | 671 | {"debug", no_argument, NULL, OPT_debug}, |
670 | {NULL, 0, NULL, 0} | 672 | {NULL, 0, NULL, 0} |
671 | }; | 673 | }; |
672 | 674 | ||
@@ -696,12 +698,8 @@ void trace_listen(int argc, char **argv) | |||
696 | case 'D': | 698 | case 'D': |
697 | daemon = 1; | 699 | daemon = 1; |
698 | break; | 700 | break; |
699 | case 0: | 701 | case OPT_debug: |
700 | switch (option_index) { | 702 | debug = 1; |
701 | case 2: | ||
702 | debug = 1; | ||
703 | break; | ||
704 | } | ||
705 | break; | 703 | break; |
706 | default: | 704 | default: |
707 | usage(argv); | 705 | usage(argv); |
diff --git a/trace-read.c b/trace-read.c index 932f5aa..018476d 100644 --- a/trace-read.c +++ b/trace-read.c | |||
@@ -812,6 +812,10 @@ static void add_functions(struct pevent *pevent, const char *file) | |||
812 | free(buf); | 812 | free(buf); |
813 | } | 813 | } |
814 | 814 | ||
815 | #define OPT_cpu 255 | ||
816 | #define OPT_events 254 | ||
817 | #define OPT_kallsyms 253 | ||
818 | |||
815 | void trace_report (int argc, char **argv) | 819 | void trace_report (int argc, char **argv) |
816 | { | 820 | { |
817 | struct tracecmd_input *handle; | 821 | struct tracecmd_input *handle; |
@@ -845,10 +849,10 @@ void trace_report (int argc, char **argv) | |||
845 | for (;;) { | 849 | for (;;) { |
846 | int option_index = 0; | 850 | int option_index = 0; |
847 | static struct option long_options[] = { | 851 | static struct option long_options[] = { |
848 | {"cpu", required_argument, NULL, 0}, | 852 | {"cpu", required_argument, NULL, OPT_cpu}, |
849 | {"events", no_argument, NULL, 0}, | 853 | {"events", no_argument, NULL, OPT_events}, |
850 | {"filter-test", no_argument, NULL, 'T'}, | 854 | {"filter-test", no_argument, NULL, 'T'}, |
851 | {"kallsyms", required_argument, NULL, 0}, | 855 | {"kallsyms", required_argument, NULL, OPT_kallsyms}, |
852 | {"help", no_argument, NULL, '?'}, | 856 | {"help", no_argument, NULL, '?'}, |
853 | {NULL, 0, NULL, 0} | 857 | {NULL, 0, NULL, 0} |
854 | }; | 858 | }; |
@@ -917,23 +921,14 @@ void trace_report (int argc, char **argv) | |||
917 | case 'q': | 921 | case 'q': |
918 | silence_warnings = 1; | 922 | silence_warnings = 1; |
919 | break; | 923 | break; |
920 | case 0: | 924 | case OPT_cpu: |
921 | switch(option_index) { | 925 | parse_cpulist(optarg); |
922 | case 0: /* cpu */ | 926 | break; |
923 | parse_cpulist(optarg); | 927 | case OPT_events: |
924 | break; | 928 | print_events = 1; |
925 | case 1: /* events */ | 929 | break; |
926 | print_events = 1; | 930 | case OPT_kallsyms: |
927 | break; | 931 | functions = optarg; |
928 | case 2: /* filter-test */ | ||
929 | test_filters = 1; | ||
930 | break; | ||
931 | case 3: /* kallsyms */ | ||
932 | functions = optarg; | ||
933 | break; | ||
934 | default: | ||
935 | usage(argv); | ||
936 | } | ||
937 | break; | 932 | break; |
938 | default: | 933 | default: |
939 | usage(argv); | 934 | usage(argv); |
diff --git a/trace-record.c b/trace-record.c index a4642bf..740b744 100644 --- a/trace-record.c +++ b/trace-record.c | |||
@@ -1809,6 +1809,8 @@ static void record_all_events(void) | |||
1809 | listed_events = list; | 1809 | listed_events = list; |
1810 | } | 1810 | } |
1811 | 1811 | ||
1812 | #define OPT_date 255 | ||
1813 | |||
1812 | void trace_record (int argc, char **argv) | 1814 | void trace_record (int argc, char **argv) |
1813 | { | 1815 | { |
1814 | const char *plugin = NULL; | 1816 | const char *plugin = NULL; |
@@ -1862,7 +1864,7 @@ void trace_record (int argc, char **argv) | |||
1862 | for (;;) { | 1864 | for (;;) { |
1863 | int option_index = 0; | 1865 | int option_index = 0; |
1864 | static struct option long_options[] = { | 1866 | static struct option long_options[] = { |
1865 | {"date", no_argument, NULL, 0}, | 1867 | {"date", no_argument, NULL, OPT_date}, |
1866 | {"help", no_argument, NULL, '?'}, | 1868 | {"help", no_argument, NULL, '?'}, |
1867 | {NULL, 0, NULL, 0} | 1869 | {NULL, 0, NULL, 0} |
1868 | }; | 1870 | }; |
@@ -2005,14 +2007,8 @@ void trace_record (int argc, char **argv) | |||
2005 | case 'i': | 2007 | case 'i': |
2006 | ignore_event_not_found = 1; | 2008 | ignore_event_not_found = 1; |
2007 | break; | 2009 | break; |
2008 | case 0: | 2010 | case OPT_date: |
2009 | switch (option_index) { | 2011 | date = 1; |
2010 | case 0: /* date */ | ||
2011 | date = 1; | ||
2012 | break; | ||
2013 | default: | ||
2014 | usage(argv); | ||
2015 | } | ||
2016 | break; | 2012 | break; |
2017 | default: | 2013 | default: |
2018 | usage(argv); | 2014 | usage(argv); |
diff --git a/trace-stack.c b/trace-stack.c index 3d9f392..24ba194 100644 --- a/trace-stack.c +++ b/trace-stack.c | |||
@@ -153,6 +153,10 @@ static void read_trace(void) | |||
153 | fclose(fp); | 153 | fclose(fp); |
154 | } | 154 | } |
155 | 155 | ||
156 | #define OPT_start 255 | ||
157 | #define OPT_stop 254 | ||
158 | #define OPT_reset 253 | ||
159 | |||
156 | void trace_stack (int argc, char **argv) | 160 | void trace_stack (int argc, char **argv) |
157 | { | 161 | { |
158 | enum stack_type trace_type = STACK_REPORT; | 162 | enum stack_type trace_type = STACK_REPORT; |
@@ -167,9 +171,9 @@ void trace_stack (int argc, char **argv) | |||
167 | for (;;) { | 171 | for (;;) { |
168 | int option_index = 0; | 172 | int option_index = 0; |
169 | static struct option long_options[] = { | 173 | static struct option long_options[] = { |
170 | {"start", no_argument, NULL, 0}, | 174 | {"start", no_argument, NULL, OPT_start}, |
171 | {"stop", no_argument, NULL, 0}, | 175 | {"stop", no_argument, NULL, OPT_stop}, |
172 | {"reset", no_argument, NULL, 0}, | 176 | {"reset", no_argument, NULL, OPT_reset}, |
173 | {"help", no_argument, NULL, '?'}, | 177 | {"help", no_argument, NULL, '?'}, |
174 | {NULL, 0, NULL, 0} | 178 | {NULL, 0, NULL, 0} |
175 | }; | 179 | }; |
@@ -183,20 +187,14 @@ void trace_stack (int argc, char **argv) | |||
183 | case 'h': | 187 | case 'h': |
184 | usage(argv); | 188 | usage(argv); |
185 | break; | 189 | break; |
186 | case 0: | 190 | case OPT_start: |
187 | switch(option_index) { | 191 | trace_type = STACK_START; |
188 | case 0: | 192 | break; |
189 | trace_type = STACK_START; | 193 | case OPT_stop: |
190 | break; | 194 | trace_type = STACK_STOP; |
191 | case 1: | 195 | break; |
192 | trace_type = STACK_STOP; | 196 | case OPT_reset: |
193 | break; | 197 | trace_type = STACK_RESET; |
194 | case 2: | ||
195 | trace_type = STACK_RESET; | ||
196 | break; | ||
197 | default: | ||
198 | usage(argv); | ||
199 | } | ||
200 | break; | 198 | break; |
201 | default: | 199 | default: |
202 | usage(argv); | 200 | usage(argv); |