summaryrefslogtreecommitdiffstats
path: root/include/errno.h
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2015-09-10 12:04:02 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2015-09-23 17:12:44 +0200
commit7e44c8495ace5dc2dfd9f183e7956fca3661a614 (patch)
tree28aec094a44c002d20629bedb5ff5eec3cc398ae /include/errno.h
parent9d54b6f6b6c42b7078ba8619444089507a0563f3 (diff)
downloadbarebox-7e44c8495ace5dc2dfd9f183e7956fca3661a614.tar.gz
barebox-7e44c8495ace5dc2dfd9f183e7956fca3661a614.tar.xz
introduce strerrorp
putting an error pointer into strerror can be a bit confusing since strerror takes a positive error code but PTR_ERR returns a negative number, so we have to do strerror(-PTR_ERR(errp)). Some places got this wrong already, so introduce a strerrorp function which directly takes an error pointer. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'include/errno.h')
-rw-r--r--include/errno.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/include/errno.h b/include/errno.h
index 025816e067..496ccab0ee 100644
--- a/include/errno.h
+++ b/include/errno.h
@@ -2,6 +2,7 @@
#define __ERRNO_H
#include <asm-generic/errno.h>
+#include <linux/err.h>
extern int errno;
@@ -9,4 +10,9 @@ void perror(const char *s);
const char *errno_str(void);
const char *strerror(int errnum);
+static inline const char *strerrorp(const void *errp)
+{
+ return strerror(-PTR_ERR(errp));
+}
+
#endif /* __ERRNO_H */