On 11/19/2010 09:15 AM, Cole Robinson wrote: > > Signed-off-by: Cole Robinson <crobi...@redhat.com> > --- > src/util/conf.c | 19 +++++++++++-------- > 1 files changed, 11 insertions(+), 8 deletions(-) > > diff --git a/src/util/conf.c b/src/util/conf.c > index ba1a384..a31bbc4 100644 > --- a/src/util/conf.c > +++ b/src/util/conf.c > @@ -394,17 +394,20 @@ virConfParseString(virConfParserCtxtPtr ctxt) > return NULL; > } > NEXT; > - } else if ((ctxt->cur + 6 < ctxt->end) && (ctxt->cur[0] == '"') && > - (ctxt->cur[1] == '"') && (ctxt->cur[2] == '"')) { > + } else if ((ctxt->cur + 6 < ctxt->end) && > + (STRPREFIX(ctxt->cur, "\"\"\""))) { > + /* String starts with python-style triple quotes """ */ > ctxt->cur += 3; > base = ctxt->cur; > - while ((ctxt->cur + 2 < ctxt->end) && (ctxt->cur[0] == '"') && > - (ctxt->cur[1] == '"') && (ctxt->cur[2] == '"')) {
How did the old code ever find the closing quotes? If there is anything except """ at ctxt->cur after the opening """, then the body of the while loop is never entered and NEXT is never called. > + > + while ((ctxt->cur + 2 < ctxt->end) && > + (STRPREFIX(ctxt->cur, "\"\"\""))) { Your rewrite faithfully matches the old code, which means its still looks buggy. -- Eric Blake ebl...@redhat.com +1-801-349-2682 Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature
-- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list