[libvirt] [PATCH 1/4] vz: make output arguments in prlsdkGetDomainIds as optional

Mikhail Feoktistov mfeoktistov at virtuozzo.com
Fri Jan 29 12:29:29 UTC 2016


>> prlsdkGetDomainIds() returns name and uuid for specified instance.
>> Now output arguments can be NULL.
>> It allows to get only necessary info(name or uuid).
>> ---
>>   src/vz/vz_sdk.c | 34 +++++++++++++++++++---------------
>>   1 file changed, 19 insertions(+), 15 deletions(-)
>>
>> diff --git a/src/vz/vz_sdk.c b/src/vz/vz_sdk.c
>> index 7973d6a..8181149 100644
>> --- a/src/vz/vz_sdk.c
>> +++ b/src/vz/vz_sdk.c
>> @@ -346,25 +346,29 @@ prlsdkGetDomainIds(PRL_HANDLE sdkdom,
>>       PRL_UINT32 len;
>>       PRL_RESULT pret;
>>   
>> -    len = 0;
>> -    /* get name length */
>> -    pret = PrlVmCfg_GetName(sdkdom, NULL, &len);
>> -    prlsdkCheckRetGoto(pret, error);
>> +    if (name) {
>> +        len = 0;
>> +        /* get name length */
>> +        pret = PrlVmCfg_GetName(sdkdom, NULL, &len);
>> +        prlsdkCheckRetGoto(pret, error);
>>   
>> -    if (VIR_ALLOC_N(*name, len) < 0)
>> -        goto error;
>> +        if (VIR_ALLOC_N(*name, len) < 0)
>> +            goto error;
>>   
>> -    PrlVmCfg_GetName(sdkdom, *name, &len);
>> -    prlsdkCheckRetGoto(pret, error);
>> +        PrlVmCfg_GetName(sdkdom, *name, &len);
>> +        prlsdkCheckRetGoto(pret, error);
>> +    }
>>   
>> -    len = sizeof(uuidstr);
>> -    PrlVmCfg_GetUuid(sdkdom, uuidstr, &len);
>> -    prlsdkCheckRetGoto(pret, error);
>> +    if (uuid) {
>> +        len = sizeof(uuidstr);
>> +        PrlVmCfg_GetUuid(sdkdom, uuidstr, &len);
>> +        prlsdkCheckRetGoto(pret, error);
>>   
>> -    if (prlsdkUUIDParse(uuidstr, uuid) < 0) {
>> -        virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
>> -                       _("Domain UUID is malformed or empty"));
>> -        goto error;
>> +        if (prlsdkUUIDParse(uuidstr, uuid) < 0) {
>> +            virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
>> +                           _("Domain UUID is malformed or empty"));
>> +            goto error;
>> +        }
>>       }
>>   
>>       return 0;
>>
> ACK, but I would add *name = NULL as another patch or we depend on
> caller setting it for us if we follow error path.
Done. Thanks!




More information about the libvir-list mailing list