diff --git a/include/cyclone/types.h b/include/cyclone/types.h index 1f77f9e2..a637a9b1 100644 --- a/include/cyclone/types.h +++ b/include/cyclone/types.h @@ -531,13 +531,13 @@ typedef uint32_t char_type; * Convert from an object to an integer. */ //#define obj_obj2int(n) (((long)((ulong)(n) & ~1))/(long)(1uL<<1)) -#define obj_obj2int(x) ((long)(x)>>1) +#define obj_obj2int(x) ((long)((uintptr_t)x)>>1) /** * Convert from an integer to an object. */ //#define obj_int2obj(n) ((void *) ((((long)(n))*(long)(1uL<<1)) | 1)) -#define obj_int2obj(c) ((void *)((((long)c)<<1) | 1)) +#define obj_int2obj(c) ((void *)((((uintptr_t)c)<<1) | 1)) /** * Determine if the object is a char.