vz: make output arguments in prlsdkGetDomainIds as optional

prlsdkGetDomainIds() returns name and uuid for specified instance.
Now output arguments can be NULL.
It allows to get only necessary info(name or uuid).
This commit is contained in:
Mikhail Feoktistov 2016-02-10 12:39:11 +03:00 committed by Maxim Nestratov
parent 39e2267436
commit 2286986a9c

View File

@ -346,31 +346,37 @@ 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;
*name = NULL;
/* 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);
pret = PrlVmCfg_GetName(sdkdom, *name, &len);
prlsdkCheckRetGoto(pret, error);
}
len = sizeof(uuidstr);
PrlVmCfg_GetUuid(sdkdom, uuidstr, &len);
prlsdkCheckRetGoto(pret, error);
if (uuid) {
len = sizeof(uuidstr);
pret = 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;
error:
VIR_FREE(*name);
if (name)
VIR_FREE(*name);
return -1;
}