Added intptr_t definition and made error pointer code use them
authorDavide Libenzi <dlibenzi@google.com>
Fri, 27 Nov 2015 15:33:34 +0000 (07:33 -0800)
committerBarret Rhoden <brho@cs.berkeley.edu>
Wed, 16 Dec 2015 21:27:06 +0000 (16:27 -0500)
Added intptr_t definition and made error pointer code use them.

Signed-off-by: Davide Libenzi <dlibenzi@google.com>
Signed-off-by: Barret Rhoden <brho@cs.berkeley.edu>
kern/arch/riscv/types.h
kern/arch/x86/types.h
kern/include/error.h

index 99fbbc0..6f174f1 100644 (file)
@@ -33,3 +33,4 @@ typedef int32_t uid_t;
 typedef int32_t gid_t;
 
 typedef unsigned long uintptr_t;
+typedef signed long intptr_t;
index 5341891..a561b2f 100644 (file)
@@ -29,6 +29,7 @@ typedef int gid_t;
 #define BITS_PER_LONG 64
 #define MAX_VADDR     ((uint64_t)(~0) >> (64-NUM_ADDR_BITS))
 typedef uint64_t uintptr_t;
+typedef int64_t intptr_t;
 #define PAGE_SHIFT 12
 #define PAGE_SIZE (1<<PAGE_SHIFT)
 #define PAGE_MASK 0xFFFFFFFFfffff000
index b2d09e1..91f08ed 100644 (file)
@@ -8,9 +8,9 @@ typedef int error_t;
 extern const char *const errno_strings[];
 extern const int MAX_ERRNO;
 
-#define ERR_PTR(err)  ((void *)((uintptr_t)(err)))
-#define PTR_ERR(ptr)  ((uintptr_t)(ptr))
-#define IS_ERR(ptr)   ((uintptr_t)-(uintptr_t)(ptr) <= MAX_ERRNO)
+#define ERR_PTR(err)  ((void *)((intptr_t)(err)))
+#define PTR_ERR(ptr)  ((intptr_t)(ptr))
+#define IS_ERR(ptr)   (-(intptr_t)(ptr) <= MAX_ERRNO)
 
 /* Plan9 wants to return non-const char* all over the place, so even if a const
  * char* would have made much more sense, unless we want to refactor a huge