[PATCH v21 14/19] perf, tools, jevents: Handle header line in mapfile

From: Sukadev Bhattiprolu
Date: Thu Sep 15 2016 - 18:28:28 EST


From: Andi Kleen <ak@xxxxxxxxxxxxxxx>

To work with existing mapfiles, assume that the first line in
'mapfile.csv' is a header line and skip over it.

Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx>
Signed-off-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx>
Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx>
Acked-by: Ingo Molnar <mingo@xxxxxxxxxx>
---

Changelog[v2]
All architectures may not use the "Family" to identify. So,
assume first line is header.
---
tools/perf/pmu-events/jevents.c | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/tools/perf/pmu-events/jevents.c b/tools/perf/pmu-events/jevents.c
index f550cad..9cdfbaa 100644
--- a/tools/perf/pmu-events/jevents.c
+++ b/tools/perf/pmu-events/jevents.c
@@ -492,7 +492,12 @@ static int process_mapfile(FILE *outfp, char *fpath)

print_mapping_table_prefix(outfp);

- line_num = 0;
+ /* Skip first line (header) */
+ p = fgets(line, n, mapfp);
+ if (!p)
+ goto out;
+
+ line_num = 1;
while (1) {
char *cpuid, *version, *type, *fname;

@@ -536,8 +541,8 @@ static int process_mapfile(FILE *outfp, char *fpath)
fprintf(outfp, "},\n");
}

+out:
print_mapping_table_suffix(outfp);
-
return 0;
}

--
1.8.3.1