perf tools: Replace %m with %a in sscanf
authorLiming Wang <liming.wang@windriver.com>
Wed, 2 Dec 2009 08:42:54 +0000 (16:42 +0800)
committerIngo Molnar <mingo@elte.hu>
Wed, 2 Dec 2009 09:12:16 +0000 (10:12 +0100)
Not all glibc support %m and it results in a compile error if
%m not supported. Replace it with %a and (float *) casts.

Signed-off-by: Liming Wang <liming.wang@windriver.com>
Acked-by: Frederic Weisbecker <fweisbec@gmail.com>
Cc: peterz@infradead.org
Cc: mhiramat@redhat.com
LKML-Reference: <1259743374-9950-1-git-send-email-liming.wang@windriver.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
tools/perf/util/probe-event.c

index e42f3ac..cd7fbda 100644 (file)
@@ -199,8 +199,8 @@ void parse_trace_kprobe_event(const char *str, char **group, char **event,
                semantic_error("Too less arguments.");
 
        /* Scan event and group name. */
-       ret = sscanf(argv[0], "%c:%m[^/ \t]/%m[^ \t]",
-                    &pr, group, event);
+       ret = sscanf(argv[0], "%c:%a[^/ \t]/%a[^ \t]",
+                    &pr, (float *)(void *)group, (float *)(void *)event);
        if (ret != 3)
                semantic_error("Failed to parse event name: %s", argv[0]);
        pr_debug("Group:%s Event:%s probe:%c\n", *group, *event, pr);
@@ -211,7 +211,7 @@ void parse_trace_kprobe_event(const char *str, char **group, char **event,
        pp->retprobe = (pr == 'r');
 
        /* Scan function name and offset */
-       ret = sscanf(argv[1], "%m[^+]+%d", &pp->function, &pp->offset);
+       ret = sscanf(argv[1], "%a[^+]+%d", (float *)(void *)&pp->function, &pp->offset);
        if (ret == 1)
                pp->offset = 0;