From 8d10864049fa552fa3565ad3b93f12e811cd350b Mon Sep 17 00:00:00 2001 From: Mauro Carvalho Chehab Date: Wed, 27 Feb 2013 04:31:34 -0300 Subject: [PATCH] edactool: fix parsing issues Signed-off-by: Mauro Carvalho Chehab --- edactool.c | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/edactool.c b/edactool.c index 4a472e1..48671c3 100644 --- a/edactool.c +++ b/edactool.c @@ -145,7 +145,8 @@ static int ras_mc_event_handler(struct trace_seq *s, struct event_format *event, void *context) { int len; - unsigned long long cnt, val, top_l, mid_l, low_l; + unsigned long long cnt, val; + long long top_l, mid_l, low_l; const char *str; if (pevent_get_field_val(s, event, "error_count", record, &cnt, 0) < 0) @@ -175,17 +176,20 @@ static int ras_mc_event_handler(struct trace_seq *s, trace_seq_puts(s, str); } - trace_seq_puts(s, "("); + trace_seq_puts(s, " ("); if (pevent_get_field_val(s, event, "mc_index", record, &val, 0) < 0) return -1; - trace_seq_printf(s, " mc: %lld", val); + trace_seq_printf(s, "mc: %lld", val); - if (pevent_get_field_val(s, event, "top_layer", record, &top_l, 0) < 0) + if (pevent_get_field_val(s, event, "top_layer", record, &val, 0) < 0) return -1; - if (pevent_get_field_val(s, event, "middle_layer", record, &mid_l, 0) < 0) + top_l = (int) val; + if (pevent_get_field_val(s, event, "middle_layer", record, &val, 0) < 0) return -1; - if (pevent_get_field_val(s, event, "lower_layer", record, &low_l, 0) < 0) + mid_l = (int) val; + if (pevent_get_field_val(s, event, "lower_layer", record, &val, 0) < 0) return -1; + low_l = (int) val; if (top_l == 255) top_l = -1; @@ -210,7 +214,7 @@ static int ras_mc_event_handler(struct trace_seq *s, if (val) trace_seq_printf(s, " address: 0x%08llx", val); - if (pevent_get_field_val(s, event, "grain", record, &val, 0) < 0) + if (pevent_get_field_val(s, event, "grain_bits", record, &val, 0) < 0) return -1; trace_seq_printf(s, " grain: %lld", val); @@ -251,6 +255,7 @@ static void parse_ras_data(struct pevent *pevent, struct kbuffer *kbuf, trace_seq_init(&s); pevent_print_event(pevent, &s, &record); trace_seq_do_printf(&s); + printf("\n"); } static int read_ras_event(int fd, struct pevent *pevent, struct kbuffer *kbuf, -- 2.49.0