~ chicken-core (chicken-5) aa925bb0951318a52bf427f2c01826ac5ca2937b


commit aa925bb0951318a52bf427f2c01826ac5ca2937b
Author:     felix <felix@call-with-current-continuation.org>
AuthorDate: Tue Feb 8 10:21:10 2011 +0100
Commit:     felix <felix@call-with-current-continuation.org>
CommitDate: Tue Feb 8 10:21:10 2011 +0100

    fixed incorrect unsafe rewrite for pointer->address (thanks to Kon Lovett)

diff --git a/chicken.h b/chicken.h
index 32ac07b4..faaa154d 100644
--- a/chicken.h
+++ b/chicken.h
@@ -1054,7 +1054,7 @@ extern double trunc(double);
 #define C_a_i_flonum_negate(ptr, c, n)  C_flonum(ptr, -C_flonum_magnitude(n))
 
 #define C_a_i_address_to_pointer(ptr, c, addr)  C_mpointer(ptr, (void *)C_num_to_unsigned_int(addr))
-#define C_a_i_pointer_to_address(ptr, c, pptr)  C_unsigned_int_to_num(ptr, (unsigned int)pptr)
+#define C_a_i_pointer_to_address(ptr, c, pptr)  C_unsigned_int_to_num(ptr, (unsigned int)C_c_pointer_nn(pptr))
 
 #define C_display_fixnum(p, n)          (C_fprintf(C_port_file(p), C_text("%d"), C_unfix(n)), C_SCHEME_UNDEFINED)
 #define C_display_char(p, c)            (C_fputc(C_character_code(c), C_port_file(p)), C_SCHEME_UNDEFINED)
Trap