error.h: Make PARA_STRERROR understand system errors.
authorAndre Noll <maan@systemlinux.org>
Sun, 7 Oct 2007 19:52:47 +0000 (21:52 +0200)
committerAndre Noll <maan@systemlinux.org>
Sun, 7 Oct 2007 19:52:47 +0000 (21:52 +0200)
error.h

diff --git a/error.h b/error.h
index d648f14..5ed3830 100644 (file)
--- a/error.h
+++ b/error.h
@@ -521,7 +521,11 @@ extern const char **para_errlist[];
  *
  * expands to the error text of \a num (a string constant).
  */
-#define PARA_STRERROR(num) para_errlist[ERRNUM_TO_SS(num)] [ERRNUM_TO_INDEX(num)]
+#define PARA_STRERROR(num) (num) & (1 << 30)? \
+       strerror((num) & ((1 << 30) - 1)) : \
+       para_errlist[ERRNUM_TO_SS(num)] [ERRNUM_TO_INDEX(num)]
+
+#define ERRNO_TO_PARA_ERROR(num) (-((num) | (1 << 30)))
 
 /**
  * define the error list for one subsystem