const char *set_arg;
char *set_field = NULL;
char *set_val = NULL;
-
virTypedParameterPtr param;
virTypedParameterPtr params = NULL;
int nparams = 0;
- size_t params_size = 0;
+ int maxparams = 0;
int ret = -1;
int rv;
int val;
for (i = 0; i < nsrc_params; i++) {
param = &(src_params[i]);
- if (VIR_RESIZE_N(params, params_size, nparams, 1) < 0) {
- virReportOOMError();
- goto cleanup;
- }
/* Legacy 'weight' and 'cap' parameter */
if (param->type == VIR_TYPED_PARAM_UINT &&
goto cleanup;
}
- if (virTypedParameterAssign(&(params[nparams++]),
- param->field,
- param->type,
- val) < 0) {
+ if (virTypedParamsAddUInt(¶ms, &nparams, &maxparams,
+ param->field, val) < 0) {
vshSaveLibvirtError();
goto cleanup;
}
continue;
}
-
if (set_field && STREQ(set_field, param->field)) {
- if (virTypedParameterAssignFromStr(&(params[nparams++]),
- param->field,
- param->type,
- set_val) < 0) {
+ if (virTypedParamsAddFromString(¶ms, &nparams, &maxparams,
+ set_field, param->type,
+ set_val) < 0) {
vshSaveLibvirtError();
goto cleanup;
}
cleanup:
VIR_FREE(set_field);
- virTypedParameterArrayClear(params, nparams);
- VIR_FREE(params);
+ virTypedParamsFree(params, nparams);
return ret;
}
}
cleanup:
- virTypedParameterArrayClear(params, nparams);
- virTypedParameterArrayClear(updates, nupdates);
- VIR_FREE(params);
- VIR_FREE(updates);
+ virTypedParamsFree(params, nparams);
+ virTypedParamsFree(updates, nupdates);
virDomainFree(dom);
return ret_val;
}