On Tue, 12 Jul 2016 14:52:45 +0200
Jiri Olsa <jo...@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).

> 
> 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;

-- Steve

Reply via email to