diff options
Diffstat (limited to 'trace-read.c')
-rw-r--r-- | trace-read.c | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/trace-read.c b/trace-read.c index 0d8f7f1..6e85041 100644 --- a/trace-read.c +++ b/trace-read.c | |||
@@ -812,6 +812,19 @@ static void add_functions(struct pevent *pevent, const char *file) | |||
812 | free(buf); | 812 | free(buf); |
813 | } | 813 | } |
814 | 814 | ||
815 | static void process_plugin_option(char *option) | ||
816 | { | ||
817 | char *name = option; | ||
818 | char *val = NULL; | ||
819 | char *p; | ||
820 | |||
821 | if ((p = strstr(name, "="))) { | ||
822 | *p = '\0'; | ||
823 | val = p+1; | ||
824 | } | ||
825 | trace_util_add_option(name, val); | ||
826 | } | ||
827 | |||
815 | enum { | 828 | enum { |
816 | OPT_kallsyms = 253, | 829 | OPT_kallsyms = 253, |
817 | OPT_events = 254, | 830 | OPT_events = 254, |
@@ -859,7 +872,7 @@ void trace_report (int argc, char **argv) | |||
859 | {NULL, 0, NULL, 0} | 872 | {NULL, 0, NULL, 0} |
860 | }; | 873 | }; |
861 | 874 | ||
862 | c = getopt_long (argc-1, argv+1, "+hi:feprPNLlEwF:VvTq", | 875 | c = getopt_long (argc-1, argv+1, "+hi:feprPNLlEwF:VvTqO:", |
863 | long_options, &option_index); | 876 | long_options, &option_index); |
864 | if (c == -1) | 877 | if (c == -1) |
865 | break; | 878 | break; |
@@ -912,6 +925,9 @@ void trace_report (int argc, char **argv) | |||
912 | case 'l': | 925 | case 'l': |
913 | latency_format = 1; | 926 | latency_format = 1; |
914 | break; | 927 | break; |
928 | case 'O': | ||
929 | process_plugin_option(optarg); | ||
930 | break; | ||
915 | case 'v': | 931 | case 'v': |
916 | if (neg) | 932 | if (neg) |
917 | die("Only 1 -v can be used"); | 933 | die("Only 1 -v can be used"); |