virDomainCapsDispose() was the only caller of
virDomainCapsStringValuesFree(), which 1) didn't actually free the
object it was called with, but only cleared it, making it less
mechanical to convert from VIR_FREE to g_free (since it's not
immediately obvious from looking at virDomainCapsStringValuesFree()
that the pointers being cleared will never again be used).
We could have renamed the function to virDomainCapsStringValuesClear()
to side-step the confusion of what the function actually does, but
that would just make the upcoming switch from VIR_FREE to g_free
require more thought. But since there is only a single caller to the
function, and it is a vir*Dispose() function (indicating that the
object containing the virDomainCapsStringValues is going to be freed
immediately after the function finishes), and thus VIR_FREE() *could*
be safely replaced by g_free()), we instead just move the contents of
virDomainCapsStringValuesFree() into virDomainCapsDispose() (and
*that* function will be trivially converted in an upcoming
"mechanical" patch).
Signed-off-by: Laine Stump <laine(a)redhat.com>
---
src/conf/domain_capabilities.c | 21 ++++++---------------
1 file changed, 6 insertions(+), 15 deletions(-)
diff --git a/src/conf/domain_capabilities.c b/src/conf/domain_capabilities.c
index 837c571b45..407cf0348a 100644
--- a/src/conf/domain_capabilities.c
+++ b/src/conf/domain_capabilities.c
@@ -65,20 +65,6 @@ static int virDomainCapsOnceInit(void)
VIR_ONCE_GLOBAL_INIT(virDomainCaps);
-static void
-virDomainCapsStringValuesFree(virDomainCapsStringValuesPtr values)
-{
- size_t i;
-
- if (!values || !values->values)
- return;
-
- for (i = 0; i < values->nvalues; i++)
- VIR_FREE(values->values[i]);
- VIR_FREE(values->values);
-}
-
-
void
virSEVCapabilitiesFree(virSEVCapability *cap)
{
@@ -95,6 +81,8 @@ static void
virDomainCapsDispose(void *obj)
{
virDomainCapsPtr caps = obj;
+ virDomainCapsStringValuesPtr values;
+ size_t i;
VIR_FREE(caps->path);
VIR_FREE(caps->machine);
@@ -102,7 +90,10 @@ virDomainCapsDispose(void *obj)
virCPUDefFree(caps->cpu.hostModel);
virSEVCapabilitiesFree(caps->sev);
- virDomainCapsStringValuesFree(&caps->os.loader.values);
+ values = &caps->os.loader.values;
+ for (i = 0; i < values->nvalues; i++)
+ VIR_FREE(values->values[i]);
+ VIR_FREE(values->values);
}
--
2.29.2