mirror of
https://gitlab.com/libvirt/libvirt-python.git
synced 2025-08-03 08:21:58 +03:00
Import some virTypedParams* APIs from libvirt
virTypedParamsClear() and virTypedParamsFree() were introduced in libvirt 1.0.2. In an effort to keep the code clean bring these two functions to libvirt-python if we're building against a version of libvirt that's older than 1.0.2
This commit is contained in:
committed by
Daniel P. Berrange
parent
ac89e8177d
commit
4d083fbf60
@ -23,6 +23,7 @@
|
||||
#include <stddef.h>
|
||||
#include <stdlib.h>
|
||||
#include <unistd.h>
|
||||
#include <libvirt/libvirt.h>
|
||||
#include "libvirt-utils.h"
|
||||
|
||||
/**
|
||||
@ -138,3 +139,48 @@ int virFileClose(int *fdptr)
|
||||
|
||||
return rc;
|
||||
}
|
||||
|
||||
#if ! LIBVIR_CHECK_VERSION(1, 0, 2)
|
||||
/**
|
||||
* virTypedParamsClear:
|
||||
* @params: the array of the typed parameters
|
||||
* @nparams: number of parameters in the @params array
|
||||
*
|
||||
* Frees all memory used by string parameters. The memory occupied by @params
|
||||
* is not free; use virTypedParamsFree if you want it to be freed too.
|
||||
*
|
||||
* Returns nothing.
|
||||
*/
|
||||
void
|
||||
virTypedParamsClear(virTypedParameterPtr params,
|
||||
int nparams)
|
||||
{
|
||||
size_t i;
|
||||
|
||||
if (!params)
|
||||
return;
|
||||
|
||||
for (i = 0; i < nparams; i++) {
|
||||
if (params[i].type == VIR_TYPED_PARAM_STRING)
|
||||
VIR_FREE(params[i].value.s);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* virTypedParamsFree:
|
||||
* @params: the array of the typed parameters
|
||||
* @nparams: number of parameters in the @params array
|
||||
*
|
||||
* Frees all memory used by string parameters and the memory occuiped by
|
||||
* @params.
|
||||
*
|
||||
* Returns nothing.
|
||||
*/
|
||||
void
|
||||
virTypedParamsFree(virTypedParameterPtr params,
|
||||
int nparams)
|
||||
{
|
||||
virTypedParamsClear(params, nparams);
|
||||
VIR_FREE(params);
|
||||
}
|
||||
#endif /* ! LIBVIR_CHECK_VERSION(1, 0, 2) */
|
||||
|
@ -200,4 +200,10 @@ int virFileClose(int *fdptr)
|
||||
# define VIR_FORCE_CLOSE(FD) \
|
||||
ignore_value(virFileClose(&(FD)))
|
||||
|
||||
# if ! LIBVIR_CHECK_VERSION(1, 0, 2)
|
||||
void virTypedParamsClear(virTypedParameterPtr params, int nparams);
|
||||
|
||||
void virTypedParamsFree(virTypedParameterPtr params, int nparams);
|
||||
# endif /* ! LIBVIR_CHECK_VERSION(1, 0, 2) */
|
||||
|
||||
#endif /* __LIBVIRT_UTILS_H__ */
|
||||
|
Reference in New Issue
Block a user