From 8c916a4d24498fa2a22d82fc8901d3af5f932364 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Tue, 16 Jan 2018 00:40:23 +0100 Subject: [PATCH] libpakfire: Make pakfire_unref the same style as others Signed-off-by: Michael Tremer --- src/libpakfire/include/pakfire/pakfire.h | 2 +- src/libpakfire/pakfire.c | 12 +++++++++--- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/libpakfire/include/pakfire/pakfire.h b/src/libpakfire/include/pakfire/pakfire.h index b892674a3..0e8a8b94f 100644 --- a/src/libpakfire/include/pakfire/pakfire.h +++ b/src/libpakfire/include/pakfire/pakfire.h @@ -28,7 +28,7 @@ int pakfire_init(); Pakfire pakfire_create(const char* path, const char* arch); Pakfire pakfire_ref(Pakfire pakfire); -void pakfire_unref(Pakfire pakfire); +Pakfire pakfire_unref(Pakfire pakfire); const char* pakfire_get_path(Pakfire pakfire); const char* pakfire_get_arch(Pakfire pakfire); diff --git a/src/libpakfire/pakfire.c b/src/libpakfire/pakfire.c index d6a82589d..fe19d2e15 100644 --- a/src/libpakfire/pakfire.c +++ b/src/libpakfire/pakfire.c @@ -75,17 +75,23 @@ PAKFIRE_EXPORT Pakfire pakfire_ref(Pakfire pakfire) { return pakfire; } -PAKFIRE_EXPORT void pakfire_unref(Pakfire pakfire) { +PAKFIRE_EXPORT Pakfire pakfire_unref(Pakfire pakfire) { + if (!pakfire) + return NULL; + if (--pakfire->nrefs > 0) - return; + return pakfire; pakfire_pool_unref(pakfire->pool); pakfire_free(pakfire->path); pakfire_free(pakfire->arch); - DEBUG("Pakfire released at %p\n", pakfire); pakfire_free(pakfire); + + DEBUG("Pakfire released at %p\n", pakfire); + + return NULL; } PAKFIRE_EXPORT const char* pakfire_get_path(Pakfire pakfire) { -- 2.39.5