tools: Adopt __scanf from kernel sources

To have a more compact way to ask the compiler to perform scanf like
argument validation.

Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Wang Nan <wangnan0@huawei.com>
Link: http://lkml.kernel.org/n/tip-yzqrhfjrn26lqqtwf55egg0h@git.kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
parent afaed6d3
...@@ -23,3 +23,4 @@ ...@@ -23,3 +23,4 @@
#define __noreturn __attribute__((noreturn)) #define __noreturn __attribute__((noreturn))
#define __printf(a, b) __attribute__((format(printf, a, b))) #define __printf(a, b) __attribute__((format(printf, a, b)))
#define __scanf(a, b) __attribute__((format(scanf, a, b)))
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
#define __PMU_H #define __PMU_H
#include <linux/bitmap.h> #include <linux/bitmap.h>
#include <linux/compiler.h>
#include <linux/perf_event.h> #include <linux/perf_event.h>
#include <stdbool.h> #include <stdbool.h>
#include "evsel.h" #include "evsel.h"
...@@ -83,8 +84,7 @@ void print_pmu_events(const char *event_glob, bool name_only, bool quiet, ...@@ -83,8 +84,7 @@ void print_pmu_events(const char *event_glob, bool name_only, bool quiet,
bool long_desc, bool details_flag); bool long_desc, bool details_flag);
bool pmu_have_event(const char *pname, const char *name); bool pmu_have_event(const char *pname, const char *name);
int perf_pmu__scan_file(struct perf_pmu *pmu, const char *name, const char *fmt, int perf_pmu__scan_file(struct perf_pmu *pmu, const char *name, const char *fmt, ...) __scanf(3, 4);
...) __attribute__((format(scanf, 3, 4)));
int perf_pmu__test(void); int perf_pmu__test(void);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment