[PATCH 3/3] perf tools: Enable strict JSON parsing

From: James Clark
Date: Thu Oct 07 2021 - 07:06:24 EST


This is to ensure that the PMU event files can always be parsed by
other tools.

Testing
=======

* There are no errors when parsing files for all architectures:
# pmu-events/jevents nds32 pmu-events/arch/ test
# pmu-events/jevents s390 pmu-events/arch/ test
# pmu-events/jevents powerpc pmu-events/arch/ test
# pmu-events/jevents arm64 pmu-events/arch/ test
# pmu-events/jevents test pmu-events/arch/ test
# pmu-events/jevents x86 pmu-events/arch/ test

* Trailing and leading commas now cause a parse error

* Double commas now cause a parse error

* Compilation and parsing works with strict mode disabled and enabled

* A diff of the output files shows no changes

Signed-off-by: James Clark <james.clark@xxxxxxx>
---
tools/perf/pmu-events/jsmn.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/tools/perf/pmu-events/jsmn.c b/tools/perf/pmu-events/jsmn.c
index 8124d2d3ff0c..831dc44c4558 100644
--- a/tools/perf/pmu-events/jsmn.c
+++ b/tools/perf/pmu-events/jsmn.c
@@ -24,6 +24,7 @@

#include <stdlib.h>
#include "jsmn.h"
+#define JSMN_STRICT

/*
* Allocates a fresh unused token from the token pool.
--
2.28.0