29.01.2016 11:25, Maxim Nestratov пишет:
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.
Yes, of cource. Thanks!
> + 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;