qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 07/11] qapi: qapi.py: allow the "'" character be


From: Luiz Capitulino
Subject: Re: [Qemu-devel] [PATCH 07/11] qapi: qapi.py: allow the "'" character be escaped
Date: Wed, 25 Jul 2012 16:18:13 -0300

On Wed, 25 Jul 2012 18:45:21 +0100
Peter Maydell <address@hidden> wrote:

> On 25 July 2012 17:54, Luiz Capitulino <address@hidden> wrote:
> 
> (Subject should be "to be", not "be".)
> 
> > A future commit will add a new qapi script which escapes that character.
> >
> > Signed-off-by: Luiz Capitulino <address@hidden>
> > ---
> >  scripts/qapi.py | 4 +++-
> >  1 file changed, 3 insertions(+), 1 deletion(-)
> >
> > diff --git a/scripts/qapi.py b/scripts/qapi.py
> > index e062336..9aa518f 100644
> > --- a/scripts/qapi.py
> > +++ b/scripts/qapi.py
> > @@ -21,7 +21,9 @@ def tokenize(data):
> >          elif data[0] == "'":
> >              data = data[1:]
> >              string = ''
> > -            while data[0] != "'":
> > +            while True:
> > +                if data[0] == "'" and string[len(string)-1] != "\\":
> > +                    break
> >                  string += data[0]
> >                  data = data[1:]
> >              data = data[1:]
> 
> Won't this cause us to look at string[-1] if
> the input data has two ' characters in a row?

Non escaped? If you meant '' that's a zero length string and should work, but
if you meant 'foo '' bar' that's illegal, because ' characters should be 
escaped.

I don't doubt bad things will happen in that case, but in general we don't do
much error detection in the qapi scripts and improving that is beyond this
series' scope.

> (also, maybe infinite loop if the input string has an
> unterminated ' ?)

Yes, that's how I found out I needed this patch :)

PS: Peter, I get claustrophobic when reading emails from you :)

PPS: I'm joking, don't get me wrong! :)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]