From b52ed49d75ff77ef4f6ad2bef576184bda9b98d0 Mon Sep 17 00:00:00 2001 From: Andrew Gregory Date: Sun, 28 Sep 2014 17:45:35 -0400 Subject: Revert "Remove log_cb, add ALPM_EVENT_LOG instead" Moving logging to the event callback caused warnings under clang due to non-literal format strings and silenced all log messages when --print was used. This reverts commit cd793c5ab7689cc8cbc18277375b368060e5acfe. Signed-off-by: Andrew Gregory Conflicts: lib/libalpm/alpm.h src/pacman/callback.c Signed-off-by: Allan McRae --- lib/libalpm/alpm.h | 36 +++++++++++++++--------------------- 1 file changed, 15 insertions(+), 21 deletions(-) (limited to 'lib/libalpm/alpm.h') diff --git a/lib/libalpm/alpm.h b/lib/libalpm/alpm.h index 751fa633..1cfd4f5b 100644 --- a/lib/libalpm/alpm.h +++ b/lib/libalpm/alpm.h @@ -343,6 +343,16 @@ typedef struct _alpm_siglist_t { * Logging facilities */ +/** Logging Levels */ +typedef enum _alpm_loglevel_t { + ALPM_LOG_ERROR = 1, + ALPM_LOG_WARNING = (1 << 1), + ALPM_LOG_DEBUG = (1 << 2), + ALPM_LOG_FUNCTION = (1 << 3) +} alpm_loglevel_t; + +typedef void (*alpm_cb_log)(alpm_loglevel_t, const char *, va_list); + int alpm_logaction(alpm_handle_t *handle, const char *prefix, const char *fmt, ...) __attribute__((format(printf, 3, 4))); @@ -431,8 +441,6 @@ typedef enum _alpm_event_type_t { ALPM_EVENT_KEY_DOWNLOAD_START, /** Key downloading is finished. */ ALPM_EVENT_KEY_DOWNLOAD_DONE, - /** A log message was emitted; See alpm_event_log_t for arguments. */ - ALPM_EVENT_LOG, /** A .pacnew file was created; See alpm_event_pacnew_created_t for arguments. */ ALPM_EVENT_PACNEW_CREATED, /** A .pacsave file was created; See alpm_event_pacsave_created_t for @@ -502,24 +510,6 @@ typedef struct _alpm_event_database_missing_t { const char *dbname; } alpm_event_database_missing_t; -/** Log levels. */ -typedef enum _alpm_loglevel_t { - ALPM_LOG_ERROR = 1, - ALPM_LOG_WARNING = (1 << 1), - ALPM_LOG_DEBUG = (1 << 2), - ALPM_LOG_FUNCTION = (1 << 3) -} alpm_loglevel_t; - -typedef struct _alpm_event_log_t { - /** Type of event. */ - alpm_event_type_t type; - /** Log level. */ - alpm_loglevel_t level; - /** Message. */ - const char *fmt; - va_list args; -} alpm_event_log_t; - typedef struct _alpm_event_pkgdownload_t { /** Type of event. */ alpm_event_type_t type; @@ -571,7 +561,6 @@ typedef union _alpm_event_t { alpm_event_delta_patch_t delta_patch; alpm_event_scriptlet_info_t scriptlet_info; alpm_event_database_missing_t database_missing; - alpm_event_log_t log; alpm_event_pkgdownload_t pkgdownload; alpm_event_pacnew_created_t pacnew_created; alpm_event_pacsave_created_t pacsave_created; @@ -749,6 +738,11 @@ char *alpm_fetch_pkgurl(alpm_handle_t *handle, const char *url); * @{ */ +/** Returns the callback used for logging. */ +alpm_cb_log alpm_option_get_logcb(alpm_handle_t *handle); +/** Sets the callback used for logging. */ +int alpm_option_set_logcb(alpm_handle_t *handle, alpm_cb_log cb); + /** Returns the callback used to report download progress. */ alpm_cb_download alpm_option_get_dlcb(alpm_handle_t *handle); /** Sets the callback used to report download progress. */ -- cgit v1.2.3-24-g4f1b