diff options
author | Dan McGee <dan@archlinux.org> | 2007-06-04 05:57:38 +0200 |
---|---|---|
committer | Dan McGee <dan@archlinux.org> | 2007-06-05 04:52:04 +0200 |
commit | 64d36db5f45db15997c6a3987d6f4b0ce147df27 (patch) | |
tree | d18340215958e82d4a9a30ec491d5ee2219645ba /lib/libalpm/log.c | |
parent | e0afe6e94a71a6aeb964e9624c2df4f4a2821704 (diff) | |
download | pacman-64d36db5f45db15997c6a3987d6f4b0ce147df27.tar.gz pacman-64d36db5f45db15997c6a3987d6f4b0ce147df27.tar.xz |
Move functions out of alpm.c to where they belong
alpm.h is the only "publically viewable" file, so there is no reason to have
functions in alpm.c that belong in package.c, db.c, etc. Move the functions
where they belong and leave only the library init functions in alpm.c.
Signed-off-by: Dan McGee <dan@archlinux.org>
Diffstat (limited to 'lib/libalpm/log.c')
-rw-r--r-- | lib/libalpm/log.c | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/lib/libalpm/log.c b/lib/libalpm/log.c index b59ec64e..1be7f0db 100644 --- a/lib/libalpm/log.c +++ b/lib/libalpm/log.c @@ -27,8 +27,50 @@ /* libalpm */ #include "log.h" +#include "handle.h" +#include "util.h" +#include "error.h" #include "alpm.h" +/** \addtogroup alpm_log Logging Functions + * @brief Functions to log using libalpm + * @{ + */ + +/** A printf-like function for logging. + * @param fmt output format + * @return 0 on success, -1 on error (pm_errno is set accordingly) + */ +int SYMEXPORT alpm_logaction(char *fmt, ...) +{ + char str[LOG_STR_LEN]; + va_list args; + + ALPM_LOG_FUNC; + + /* Sanity checks */ + ASSERT(handle != NULL, RET_ERR(PM_ERR_HANDLE_NULL, -1)); + + va_start(args, fmt); + vsnprintf(str, LOG_STR_LEN, fmt, args); + va_end(args); + + /* TODO We should add a prefix to log strings depending on who called us. + * If logaction was called by the frontend: + * USER: <the frontend log> + * and if called internally: + * ALPM: <the library log> + * Moreover, the frontend should be able to choose its prefix + * (USER by default?): + * pacman: "PACMAN" + * kpacman: "KPACMAN" + * This would allow us to share the log file between several frontends + * and know who does what */ + return(_alpm_logaction(handle->usesyslog, handle->logfd, str)); +} + +/** @} */ + void _alpm_log(pmloglevel_t flag, char *fmt, ...) { alpm_cb_log logcb = alpm_option_get_logcb(); |