[libvirt PATCH v5 2/6] conf: switch to virXMLProp* functions for parsing video

Jonathon Jongsma jjongsma at redhat.com
Tue Nov 8 18:04:49 UTC 2022


On 11/7/22 1:45 AM, Ján Tomko wrote:
> On a Friday in 2022, Jonathon Jongsma wrote:
>> In virDomainVideoModelDefParseXML(), use the virXMLProp* functions
>> rather than reimplementing them with virXPath* functions.
>>
>> Signed-off-by: Jonathon Jongsma <jjongsma at redhat.com>
>> ---
>> src/conf/domain_conf.c | 78 +++++++++++++-----------------------------
>> 1 file changed, 23 insertions(+), 55 deletions(-)
>>
>> diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
>> index 2e153db94f..552936c8b7 100644
>> --- a/src/conf/domain_conf.c
>> +++ b/src/conf/domain_conf.c
>> -    if ((heads = virXPathString("string(./@heads)", ctxt))) {
>> -        if (virStrToLong_uip(heads, NULL, 10, &def->heads) < 0) {
>> -            virReportError(VIR_ERR_INTERNAL_ERROR,
>> -                           _("cannot parse video heads '%s'"), heads);
>> -            return -1;
>> -        }
>> -    }
>> +    if ((rc = virXMLPropUInt(node, "heads", 10, VIR_XML_PROP_NONE, 
>> &def->heads)) < 0)
>> +        return -1;
> 
>> +    else if (rc == 0)
>> +        def->heads = 1;
> 
> This branch is not necessary - just like the previous code, def->heads
> is untouched if the attribute is not present.

This is unfortunately not true. virXMLPropUInt() actually sets *result = 
0 at the very beginning of the function. So this branch is necessary 
unless we change the implementation of virXMLPropUInt().

> 
> Reviewed-by: Ján Tomko <jtomko at redhat.com>
> 
> Jano
> 



More information about the libvir-list mailing list