From 27acdc2c94de558103eb29260c179a49c9b05c14 Mon Sep 17 00:00:00 2001 From: Stefano Esposito Date: Sat, 8 Sep 2007 18:41:45 +0200 Subject: make alpm_strerror binding friendly I'm currently working on python bindings for alpm written in pyrex. While working i found that declaring alpm_strerror as char * alpm_strerror (void) instead of char * alpm_strerror (int err) and then using pm_errno in the implementation instead of err, could make it more bindings-friendly. Dan: cleaned up and added void to declaration. Instead of replacing existing function, add a new function called 'alpm_strerrorlast(void)'. Signed-off-by: Stefano Esposito Signed-off-by: Dan McGee --- lib/libalpm/alpm.h | 1 + lib/libalpm/error.c | 5 +++++ lib/libalpm/error.h | 2 +- 3 files changed, 7 insertions(+), 1 deletion(-) (limited to 'lib/libalpm') diff --git a/lib/libalpm/alpm.h b/lib/libalpm/alpm.h index 75c30987..1506e3d5 100644 --- a/lib/libalpm/alpm.h +++ b/lib/libalpm/alpm.h @@ -461,6 +461,7 @@ enum _pmerrno_t { extern enum _pmerrno_t pm_errno; const char *alpm_strerror(int err); +const char *alpm_strerrorlast(void); #ifdef __cplusplus } diff --git a/lib/libalpm/error.c b/lib/libalpm/error.c index b5e301aa..f81d22da 100644 --- a/lib/libalpm/error.c +++ b/lib/libalpm/error.c @@ -30,6 +30,11 @@ #include "alpm.h" /* TODO does this really need a file all on its own? */ +const char SYMEXPORT *alpm_strerrorlast(void) +{ + return alpm_strerror(pm_errno); +} + const char SYMEXPORT *alpm_strerror(int err) { switch(err) { diff --git a/lib/libalpm/error.h b/lib/libalpm/error.h index e21a5f60..8e9e7c80 100644 --- a/lib/libalpm/error.h +++ b/lib/libalpm/error.h @@ -22,7 +22,7 @@ #define _ALPM_ERROR_H #define RET_ERR(err, ret) do { pm_errno = (err); \ - _alpm_log(PM_LOG_DEBUG, "returning error %d from %s : %s\n", err, __func__, alpm_strerror(err)); \ + _alpm_log(PM_LOG_DEBUG, "returning error %d from %s : %s\n", err, __func__, alpm_strerrorlast()); \ return(ret); } while(0) #endif /* _ALPM_ERROR_H */ -- cgit v1.2.3-24-g4f1b