Browse Source

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.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Arnaldo Carvalho de Melo 8 years ago
parent
commit
3ee350fb8a
2 changed files with 3 additions and 2 deletions
  1. 1 0
      tools/include/linux/compiler-gcc.h
  2. 2 2
      tools/perf/util/pmu.h

+ 1 - 0
tools/include/linux/compiler-gcc.h

@@ -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 - 2
tools/perf/util/pmu.h

@@ -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,
 		      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,
-			...) __attribute__((format(scanf, 3, 4)));
+int perf_pmu__scan_file(struct perf_pmu *pmu, const char *name, const char *fmt, ...) __scanf(3, 4);
 
 
 int perf_pmu__test(void);
 int perf_pmu__test(void);