conf: Fix parsing python style triple quotes

An incorrect check broke matching the closing set of quotes. Update
tests to cover this case for XM config files.
This commit is contained in:
Cole Robinson 2010-11-18 17:35:23 -05:00
parent f57c0b23a8
commit 21108d37a3
3 changed files with 8 additions and 2 deletions

View File

@ -400,8 +400,9 @@ virConfParseString(virConfParserCtxtPtr ctxt)
ctxt->cur += 3;
base = ctxt->cur;
/* Find the ending triple quotes */
while ((ctxt->cur + 2 < ctxt->end) &&
(STRPREFIX(ctxt->cur, "\"\"\""))) {
!(STRPREFIX(ctxt->cur, "\"\"\""))) {
if (CUR == '\n')
ctxt->line++;
NEXT;

View File

@ -19,7 +19,7 @@ vnc = 1
vncunused = 1
vnclisten = "127.0.0.1"
vncpasswd = "123poi"
disk = [ "phy:/dev/HostVG/XenGuest2,hda,w", "file:/root/boot.iso&test,hdc:cdrom,r" ]
disk = [ "phy:/dev/HostVG/XenGuest2,hda,w", "file:/root/boot.iso&test,hdc:cdrom,r", """phy:/dev/HostVG/XenGuest'",hdb,w""" ]
vif = [ "mac=00:16:3e:66:92:9c,bridge=xenbr1,script=vif-bridge,model=e1000,type=ioemu" ]
parallel = "none"
serial = "none"

View File

@ -31,6 +31,11 @@
<target dev='hdc' bus='ide'/>
<readonly/>
</disk>
<disk type='block' device='disk'>
<driver name='phy'/>
<source dev='/dev/HostVG/XenGuest&apos;&quot;'/>
<target dev='hdb' bus='ide'/>
</disk>
<interface type='bridge'>
<mac address='00:16:3e:66:92:9c'/>
<source bridge='xenbr1'/>