diff options
author | Andrew Gregory <andrew.gregory.8@gmail.com> | 2015-04-12 00:01:23 -0400 |
---|---|---|
committer | Allan McRae <allan@archlinux.org> | 2015-05-12 14:00:55 +1000 |
commit | 9a9e0203de9a440be0e359a36bf55151ffb51ca6 (patch) | |
tree | ead63e3c4874e59f222160c8a80d799b0e13966a /lib | |
parent | 1545a042535a8c73c1fa5e0a8bc399394f553a4f (diff) | |
download | pacman-9a9e0203de9a440be0e359a36bf55151ffb51ca6.tar.xz |
alpm_logaction: implement documented return value
"return 0 on success, -1 on error (pm_errno is set accordingly)"
Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com>
Signed-off-by: Allan McRae <allan@archlinux.org>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/libalpm/log.c | 24 |
1 files changed, 16 insertions, 8 deletions
diff --git a/lib/libalpm/log.c b/lib/libalpm/log.c index 602dd371..43837357 100644 --- a/lib/libalpm/log.c +++ b/lib/libalpm/log.c @@ -34,6 +34,17 @@ * @{ */ +static int _alpm_log_leader(FILE *f, const char *prefix) +{ + time_t t = time(NULL); + struct tm *tm = localtime(&t); + + /* Use ISO-8601 date format */ + return fprintf(f, "[%04d-%02d-%02d %02d:%02d] [%s] ", + tm->tm_year + 1900, tm->tm_mon + 1, tm->tm_mday, + tm->tm_hour, tm->tm_min, prefix); +} + /** A printf-like function for logging. * @param handle the context handle * @param prefix caller-specific prefix for the log @@ -84,14 +95,11 @@ int SYMEXPORT alpm_logaction(alpm_handle_t *handle, const char *prefix, } if(handle->logstream) { - time_t t = time(NULL); - struct tm *tm = localtime(&t); - - /* Use ISO-8601 date format */ - fprintf(handle->logstream, "[%04d-%02d-%02d %02d:%02d] [%s] ", - tm->tm_year + 1900, tm->tm_mon + 1, tm->tm_mday, - tm->tm_hour, tm->tm_min, prefix); - ret = vfprintf(handle->logstream, fmt, args); + if(_alpm_log_leader(handle->logstream, prefix) < 0 + || vfprintf(handle->logstream, fmt, args) < 0) { + ret = -1; + handle->pm_errno = ALPM_ERR_SYSTEM; + } fflush(handle->logstream); } |