]> www.infradead.org Git - users/mchehab/edactool.git/commitdiff
edactool: fix parsing issues
authorMauro Carvalho Chehab <mchehab@redhat.com>
Wed, 27 Feb 2013 07:31:34 +0000 (04:31 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Wed, 27 Feb 2013 07:35:47 +0000 (04:35 -0300)
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
edactool.c

index 4a472e1378f000dfbd19b4bbd41204926654e5df..48671c3b0a7a9fc311ab2ab363440a5f047766ac 100644 (file)
@@ -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,