diff --git a/lib/libalpm/alpm.c b/lib/libalpm/alpm.c index 63b418c1..fd467bfc 100644 --- a/lib/libalpm/alpm.c +++ b/lib/libalpm/alpm.c @@ -112,7 +112,7 @@ int SYMEXPORT alpm_release() db = NULL; } - FREEHANDLE(handle); + _alpm_handle_free(handle); return(0); } diff --git a/lib/libalpm/handle.c b/lib/libalpm/handle.c index de80eb8f..cbbdeff5 100644 --- a/lib/libalpm/handle.c +++ b/lib/libalpm/handle.c @@ -87,11 +87,13 @@ pmhandle_t *_alpm_handle_new() return(handle); } -int _alpm_handle_free(pmhandle_t *handle) +void _alpm_handle_free(pmhandle_t *handle) { ALPM_LOG_FUNC; - ASSERT(handle != NULL, RET_ERR(PM_ERR_HANDLE_NULL, -1)); + if(handle == NULL) { + return; + } /* close logfiles */ if(handle->logfd) { @@ -116,8 +118,6 @@ int _alpm_handle_free(pmhandle_t *handle) FREELIST(handle->ignorepkg); FREELIST(handle->holdpkg); FREE(handle); - - return(0); } alpm_cb_log alpm_option_get_logcb() { return (handle ? handle->logcb : NULL); } diff --git a/lib/libalpm/handle.h b/lib/libalpm/handle.h index 35e5eb23..0790ad13 100644 --- a/lib/libalpm/handle.h +++ b/lib/libalpm/handle.h @@ -69,10 +69,8 @@ typedef struct _pmhandle_t { extern pmhandle_t *handle; -#define FREEHANDLE(p) do { if (p) { _alpm_handle_free(p); p = NULL; } } while (0) - pmhandle_t *_alpm_handle_new(); -int _alpm_handle_free(pmhandle_t *handle); +void _alpm_handle_free(pmhandle_t *handle); #endif /* _ALPM_HANDLE_H */