perf trace: Move strarrays to beauty.h for further reuse
tip-bot for Arnaldo Carvalho de Melo
merge botCommit-ID: 1f2d085e0f25a40eeb0ac032fd399be94f866adb Gitweb: https://git.kernel.org/tip/1f2d085e0f25a40eeb0ac032fd399be94f866adb Author: Arnaldo Carvalho de Melo <[email protected]> AuthorDate: Tue, 18 Dec 2018 10:25:28 -0300 Committer: Arnaldo Carvalho de Melo <[email protected]> CommitDate: Tue, 18 Dec 2018 16:15:19 -0300
perf trace: Move strarrays to beauty.h for further reuse
We'll use it in the upcoming arch_prctl() 'code' arg beautifier.
Cc Adrian Hunter <[email protected]>
Cc Jiri Olsa <[email protected]>
Cc Luis Cláudio Gonçalves <[email protected]>
Cc Namhyung Kim <[email protected]>
Cc Wang Nan <[email protected]>
Signed-off-by Arnaldo Carvalho de Melo <[email protected]>
--- tools/perf/builtin-trace.c | 26 ++++++++++---------------- tools/perf/trace/beauty/beauty.h | 12 ++++++++++++ 2 files changed, 22 insertions(+), 16 deletions(-)
tools/perf/builtin-trace.c +10 -16
@@ -386,34 +386,28 @@ static size_t syscall_arg__scnprintf_strarray(char *bf, size_t size,#define SCA_STRARRAY syscall_arg__scnprintf_strarray -struct strarrays { -int nr_entries; -struct strarray **entries; -}; - -#define DEFINE_STRARRAYS (array) struct strarrays strarrays__##array = { \ - .nr_entries = ARRAY_SIZE(array), \ - .entries = array, \ -} - -size_t syscall_arg__scnprintf_strarrays (char *bf,size_t size, -struct syscall_arg *arg) +size_t strarrays__scnprintf (struct strarrays *sas,char *bf,size_t size,const char *intfmt,bool show_prefix,int val) { -struct strarrays *sas = arg->parm;int i;for (i =0 ; i < sas->nr_entries; ++i) {struct strarray *sa = sas->entries[i]; -int idx = arg->val - sa->offset; +int idx = val - sa->offset;if (idx >=0 && idx < sa->nr_entries) {if (sa->entries[idx] ==NULL )break ; -return scnprintf (bf, size,"%s%s" , arg->show_string_prefix ? sa->prefix :"" , sa->entries[idx]); +return scnprintf (bf, size,"%s%s" , show_prefix ? sa->prefix :"" , sa->entries[idx]); } } -return scnprintf (bf, size,"%d" , arg->val); +return scnprintf (bf, size, intfmt, val); +} + +size_t syscall_arg__scnprintf_strarrays (char *bf,size_t size, +struct syscall_arg *arg) +{ +return strarrays__scnprintf (arg->parm, bf, size,"%d" , arg->show_string_prefix, arg->val); }#ifndef AT_FDCWD
tools/perf/trace/beauty/beauty.h +12 -0
@@ -32,6 +32,18 @@ size_t strarray__scnprintf_flags(struct strarray *sa, char *bf, size_t size, boostruct trace ;struct thread ; +struct strarrays { +int nr_entries; +struct strarray **entries; +}; + +#define DEFINE_STRARRAYS (array) struct strarrays strarrays__##array = { \ + .nr_entries = ARRAY_SIZE(array), \ + .entries = array, \ +} + +size_t strarrays__scnprintf (struct strarrays *sas,char *bf,size_t size,const char *intfmt,bool show_prefix,int val); +size_t pid__scnprintf_fd (struct trace *trace,pid_t pid,int fd,char *bf,size_t size);extern struct strarray strarray__socket_families;