On 01/29/2012 08:54 PM, [email protected] wrote: > From: Alex Jia <[email protected]> > > Using new function 'virTypedParameterArrayClear' to simplify block of codes. > > * daemon/remote.c, src/remote/remote_driver.c: simplify codes. > > Signed-off-by: Alex Jia <[email protected]> > --- > daemon/remote.c | 6 +----- > src/remote/remote_driver.c | 16 ++++------------ > 2 files changed, 5 insertions(+), 17 deletions(-) > > diff --git a/daemon/remote.c b/daemon/remote.c
> +++ b/src/remote/remote_driver.c
> @@ -46,6 +46,7 @@
> #include "virfile.h"
> #include "command.h"
> #include "intprops.h"
> +#include "virtypedparam.h"
>
> #define VIR_FROM_THIS VIR_FROM_REMOTE
>
> @@ -1417,12 +1418,8 @@ remoteDeserializeTypedParameters(remote_typed_param
> *ret_params_val,
> rv = 0;
>
> cleanup:
> - if (rv < 0) {
> - int j;
> - for (j = 0; j < i; j++)
> - if (params[j].type == VIR_TYPED_PARAM_STRING)
> - VIR_FREE(params[j].value.s);
> - }
> + if (rv < 0)
> + virTypedParameterArrayClear(params, *nparams);
Are you sure 'i == *nparmas'? To match the previous code, this should be:
if (rv < 0)
virTypedParameterArrayClear(params, i);
> @@ -2386,12 +2383,7 @@ static int remoteDomainGetCPUStats(virDomainPtr domain,
> cleanup:
> if (rv < 0) {
> int max = nparams * ncpus;
> - int i;
> -
> - for (i = 0; i < max; i++) {
> - if (params[i].type == VIR_TYPED_PARAM_STRING)
> - VIR_FREE(params[i].value.s);
> - }
> + virTypedParameterArrayClear(params, max);
Here, I'd simplify slightly; no need for a temporary variable max that
is only used once. Just call:
virTypedParameterArrayClear(params, nparams * ncpus);
ACK with those changes.
--
Eric Blake [email protected] +1-919-301-3266
Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature
-- libvir-list mailing list [email protected] https://www.redhat.com/mailman/listinfo/libvir-list
