All of lore.kernel.org
 help / color / mirror / Atom feed
From: Steven Rostedt <rostedt@goodmis.org>
To: Jiri Olsa <jolsa@redhat.com>
Cc: Jiri Olsa <jolsa@kernel.org>,
	Arnaldo Carvalho de Melo <acme@kernel.org>,
	lkml <linux-kernel@vger.kernel.org>,
	David Ahern <dsahern@gmail.com>, Ingo Molnar <mingo@kernel.org>,
	Namhyung Kim <namhyung@kernel.org>,
	Peter Zijlstra <a.p.zijlstra@chello.nl>
Subject: Re: [PATCH 10/10] perf script python: Fix string vs byte array resolving
Date: Tue, 12 Jul 2016 09:48:36 -0400	[thread overview]
Message-ID: <20160712094836.0069bc20@gandalf.local.home> (raw)
In-Reply-To: <20160712133552.GA30438@krava>

On Tue, 12 Jul 2016 15:35:52 +0200
Jiri Olsa <jolsa@redhat.com> wrote:

> On Tue, Jul 12, 2016 at 09:00:01AM -0400, Steven Rostedt wrote:
> > On Tue, 12 Jul 2016 14:52:45 +0200
> > Jiri Olsa <jolsa@redhat.com> wrote:
> > 
> >   
> > > hum, so string is not passed to trace buffer with 0 at the end?  
> > 
> > strlen() returns only the length of the string (minus the \0 at the
> > end).  
> 
> yea, is_printable_array is called here on tracepoint
> data that's why I asked.. is 0 part of the string data
> when stored within tracepoint?

Good question. It may or may not (haven't looked at the code), but we
probably want to make sure that the function is robust enough for
either case.

> 
> >   
> > > 
> > > I'll check the option of passing everything as PyByteArray.
> > > If it's the same for user, we'll have simpler code in here.
> > >   
> > > > 
> > > > because the last byte wont be 0. What about:
> > > > 
> > > > 	for (i = 0; i < len; i++)
> > > > 		if (!isprint(p[i]) && !isspace(p[i]))
> > > > 			break;
> > > > 
> > > > 	return i == len ||
> > > > 		(i == len - 1 && p[i] == 0);    
> > 
> > Or you can do:
> > 
> > 	if (p[len - 1] == 0)
> > 		len--;
> > 
> > 	for (i = 0; i < len; i++)
> > 		if (!isprint(p[i]) && !isspace(p[i]))
> > 			return 0;
> > 	return 1;  
> 
> yep, seems good.. thanks
> 

OK, great!

-- Steve

  reply	other threads:[~2016-07-12 13:48 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-07-10 11:07 [PATCH 00/10] perf python: Add support to access tracepoint fields Jiri Olsa
2016-07-10 11:07 ` [PATCH 01/10] perf tools: Make perf_evlist__event2evsel public Jiri Olsa
2016-07-13  7:24   ` [tip:perf/core] perf evlist: Make event2evsel public tip-bot for Jiri Olsa
2016-07-10 11:07 ` [PATCH 02/10] perf tools: Introduce trace_event__tp_format_id function Jiri Olsa
2016-07-13  7:25   ` [tip:perf/core] perf tools: Introduce trace_event__tp_format_id() tip-bot for Jiri Olsa
2016-07-10 11:07 ` [PATCH 03/10] perf python: Init perf_event_attr::size in perf.evsel constructor Jiri Olsa
2016-07-13  7:25   ` [tip:perf/core] " tip-bot for Jiri Olsa
2016-07-10 11:07 ` [PATCH 04/10] perf python: Fix pyrf_evlist__read_on_cpu event consuming Jiri Olsa
2016-07-13  7:26   ` [tip:perf/core] " tip-bot for Jiri Olsa
2016-07-10 11:07 ` [PATCH 05/10] perf python: Put perf.event objects into dictionary Jiri Olsa
2016-07-13  7:26   ` [tip:perf/core] " tip-bot for Jiri Olsa
2016-07-10 11:07 ` [PATCH 06/10] perf python: Add perf.tracepoint method Jiri Olsa
2016-07-13  7:27   ` [tip:perf/core] " tip-bot for Jiri Olsa
2016-07-10 11:07 ` [PATCH 07/10] perf python: Add struct evsel into struct pyrf_event Jiri Olsa
2016-07-13  7:27   ` [tip:perf/core] " tip-bot for Jiri Olsa
2016-07-10 11:08 ` [PATCH 08/10] perf python: Add support to resolve tracepoint fields Jiri Olsa
2016-07-13  7:27   ` [tip:perf/core] " tip-bot for Jiri Olsa
2016-07-10 11:08 ` [PATCH 09/10] perf python: Add tracepoint example Jiri Olsa
2016-07-13  7:28   ` [tip:perf/core] " tip-bot for Jiri Olsa
2016-07-10 11:08 ` [PATCH 10/10] perf script python: Fix string vs byte array resolving Jiri Olsa
2016-07-11 15:54   ` Steven Rostedt
2016-07-12  8:11     ` Jiri Olsa
2016-07-12 12:37       ` Steven Rostedt
2016-07-12 12:52         ` Jiri Olsa
2016-07-12 13:00           ` Steven Rostedt
2016-07-12 13:35             ` Jiri Olsa
2016-07-12 13:48               ` Steven Rostedt [this message]
2016-07-12 19:27                 ` Arnaldo Carvalho de Melo
2016-07-12 19:48                   ` Steven Rostedt
2016-07-13  9:06                     ` Jiri Olsa

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20160712094836.0069bc20@gandalf.local.home \
    --to=rostedt@goodmis.org \
    --cc=a.p.zijlstra@chello.nl \
    --cc=acme@kernel.org \
    --cc=dsahern@gmail.com \
    --cc=jolsa@kernel.org \
    --cc=jolsa@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@kernel.org \
    --cc=namhyung@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.