Messages in this thread Patch in this message | | | Date | Wed, 8 May 2019 09:40:30 +0200 | From | Jiri Olsa <> | Subject | Re: [PATCH 07/12] perf script: Pad dso name for --call-trace |
| |
On Tue, May 07, 2019 at 06:29:07PM +0000, Song Liu wrote: > > > > On May 7, 2019, at 1:13 AM, Jiri Olsa <jolsa@redhat.com> wrote: > > > > On Mon, May 06, 2019 at 09:38:55PM +0000, Song Liu wrote: > > > > SNIP > > > >>> > >>> Link: http://lkml.kernel.org/n/tip-99g9rg4p20a1o99vr0nkjhq8@git.kernel.org > >>> Signed-off-by: Jiri Olsa <jolsa@kernel.org> > >>> --- > >>> tools/include/linux/kernel.h | 1 + > >>> tools/lib/vsprintf.c | 19 +++++++++++++++++++ > >>> tools/perf/builtin-script.c | 1 + > >>> tools/perf/util/map.c | 6 ++++++ > >>> tools/perf/util/symbol_conf.h | 1 + > >>> 5 files changed, 28 insertions(+) > >>> > >>> diff --git a/tools/include/linux/kernel.h b/tools/include/linux/kernel.h > >>> index 857d9e22826e..cba226948a0c 100644 > >>> --- a/tools/include/linux/kernel.h > >>> +++ b/tools/include/linux/kernel.h > >>> @@ -102,6 +102,7 @@ > >>> > >>> int vscnprintf(char *buf, size_t size, const char *fmt, va_list args); > >>> int scnprintf(char * buf, size_t size, const char * fmt, ...); > >>> +int scnprintf_pad(char * buf, size_t size, const char * fmt, ...); > >>> > >>> #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + __must_be_array(arr)) > >>> > >>> diff --git a/tools/lib/vsprintf.c b/tools/lib/vsprintf.c > >>> index e08ee147eab4..149a15013b23 100644 > >>> --- a/tools/lib/vsprintf.c > >>> +++ b/tools/lib/vsprintf.c > >>> @@ -23,3 +23,22 @@ int scnprintf(char * buf, size_t size, const char * fmt, ...) > >>> > >>> return (i >= ssize) ? (ssize - 1) : i; > >>> } > >>> + > >>> +int scnprintf_pad(char * buf, size_t size, const char * fmt, ...) > >>> +{ > >>> + ssize_t ssize = size; > >>> + va_list args; > >>> + int i; > >> > >> nit: I guess we can avoid mixing int, ssize_t and size_t here? > > > > I copied that from scnprintf ;-) > > > > the thing is that at the end we call vsnprintf, which takes size_t > > as size param and returns int, so there will be casting at some > > point in any case.. > > > > I guess the ssize_t was introduced to compare the size_t value with int > > > > Interesting. Given scnprintf works fine, I think we can keep the patch > as-is.
I actualy found off by one issue in here.. I'll send new version
thanks, jirka
| |