From: Andi Kleen <a...@linux.intel.com>

For perf script -F the - removal of fields didn't work for typed
fields, only for untyped. Add the REMOVE case for this variant too.

v2: Use correct index
Signed-off-by: Andi Kleen <a...@linux.intel.com>
---
 tools/perf/builtin-script.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/tools/perf/builtin-script.c b/tools/perf/builtin-script.c
index d7d454d10074..129b11404a9c 100644
--- a/tools/perf/builtin-script.c
+++ b/tools/perf/builtin-script.c
@@ -2502,6 +2502,10 @@ static int parse_output_fields(const struct option *opt 
__maybe_unused,
                                rc = -EINVAL;
                                goto out;
                        }
+                       if (change == REMOVE)
+                               output[type].fields &= 
~all_output_options[i].field;
+                       else
+                               output[type].fields |= 
all_output_options[i].field;
                        output[type].user_set = true;
                        output[type].wildcard_set = true;
                }
-- 
2.17.1

Reply via email to