On 11/19/2010 03:00 PM, Eric Blake wrote: > On 11/19/2010 09:15 AM, Cole Robinson wrote: >> >> Signed-off-by: Cole Robinson <crobinso@xxxxxxxxxx> >> --- >> 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. Yeah, it didn't work :) See patch 2 for that bug fix, I just didn't want to refactor and change functionality in 1 patch. - Cole >> + >> + while ((ctxt->cur + 2 < ctxt->end) && >> + (STRPREFIX(ctxt->cur, "\"\"\""))) { > > Your rewrite faithfully matches the old code, which means its still > looks buggy. > -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list