linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] Add an ERR_CAST() function to complement ERR_PTR and co. [try #5.1]
@ 2007-10-25 23:03 David Howells
  0 siblings, 0 replies; only message in thread
From: David Howells @ 2007-10-25 23:03 UTC (permalink / raw)
  To: akpm; +Cc: linux-kernel, linux-fsdevel, dhowells

Add an ERR_CAST() function to complement ERR_PTR and co. for the purposes of
casting an error entyped as one pointer type to an error of another pointer
type whilst making it explicit as to what is going on.

This provides a replacement for the ERR_PTR(PTR_ERR(p)) construct.

Signed-off-by: David Howells <dhowells@redhat.com>
---

 include/linux/err.h |   12 ++++++++++++
 1 files changed, 12 insertions(+), 0 deletions(-)

diff --git a/include/linux/err.h b/include/linux/err.h
index 1ab1d44..08409cd 100644
--- a/include/linux/err.h
+++ b/include/linux/err.h
@@ -34,6 +34,18 @@ static inline long IS_ERR(const void *ptr)
 	return IS_ERR_VALUE((unsigned long)ptr);
 }
 
+/**
+ * ERR_CAST - Explicitly cast an error-valued pointer to another pointer type
+ * @ptr: The pointer to cast.
+ *
+ * Explicitly cast an error-valued pointer to another pointer type in such a
+ * way as to make it clear that's what's going on.
+ */
+static inline void *ERR_CAST(const void *ptr)
+{
+	return (void *) ptr;
+}
+
 #endif
 
 #endif /* _LINUX_ERR_H */


^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2007-10-25 23:03 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-10-25 23:03 [PATCH] Add an ERR_CAST() function to complement ERR_PTR and co. [try #5.1] David Howells

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).