28.01.2016 18:38, Mikhail Feoktistov пишет:
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);
I know it's not your mistake, but it would be better not to ignore what
PrlVmCfg_GetName returns.
Otherwise next statement has no sence.
+ prlsdkCheckRetGoto(pret, error);
+ }
- len = sizeof(uuidstr);
- PrlVmCfg_GetUuid(sdkdom, uuidstr, &len);
- prlsdkCheckRetGoto(pret, error);
+ if (uuid) {
+ len = sizeof(uuidstr);
+ PrlVmCfg_GetUuid(sdkdom, uuidstr, &len);
The same is here.
+ 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;