summaryrefslogtreecommitdiffstats
path: root/lib/libalpm
diff options
context:
space:
mode:
authorStefano Esposito <stefano.esposito87@gmail.com>2007-09-08 18:41:45 +0200
committerDan McGee <dan@archlinux.org>2007-09-12 03:58:27 +0200
commit27acdc2c94de558103eb29260c179a49c9b05c14 (patch)
tree969d73111d6a1943975fae23ac5ba5747bb6e0d2 /lib/libalpm
parentf21c45c0ddf195a4dcfca08c19bfa23d1c7fb326 (diff)
downloadpacman-27acdc2c94de558103eb29260c179a49c9b05c14.tar.gz
pacman-27acdc2c94de558103eb29260c179a49c9b05c14.tar.xz
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 <stefano.esposito87@gmail.com> Signed-off-by: Dan McGee <dan@archlinux.org>
Diffstat (limited to 'lib/libalpm')
-rw-r--r--lib/libalpm/alpm.h1
-rw-r--r--lib/libalpm/error.c5
-rw-r--r--lib/libalpm/error.h2
3 files changed, 7 insertions, 1 deletions
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 */