From 00d3ec2f9c05e9a4594651e9e8607c4ce6b95a59 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Wed, 3 Jan 2018 17:55:34 -0700 Subject: [PATCH] fix scheme_extract_pointer to handle offsets And not handling offsets causes `register-process-global` to work in correctly, for example. --- racket/src/foreign/foreign.c | 2 +- racket/src/foreign/foreign.rktc | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/racket/src/foreign/foreign.c b/racket/src/foreign/foreign.c index 3c596c2405..49a6762e62 100644 --- a/racket/src/foreign/foreign.c +++ b/racket/src/foreign/foreign.c @@ -1707,7 +1707,7 @@ static Scheme_Object *foreign_cpointer_gcable_p(int argc, Scheme_Object *argv[]) #undef MYNAME void *scheme_extract_pointer(Scheme_Object *v) { - return SCHEME_FFIANYPTR_VAL(v); + return SCHEME_FFIANYPTR_OFFSETVAL(v); } /*****************************************************************************/ diff --git a/racket/src/foreign/foreign.rktc b/racket/src/foreign/foreign.rktc index e0a92f9912..cde0f2f0ab 100755 --- a/racket/src/foreign/foreign.rktc +++ b/racket/src/foreign/foreign.rktc @@ -1474,7 +1474,7 @@ void scheme_set_cpointer_tag(Scheme_Object *ptr, Scheme_Object *val) } void *scheme_extract_pointer(Scheme_Object *v) { - return SCHEME_FFIANYPTR_VAL(v); + return SCHEME_FFIANYPTR_OFFSETVAL(v); } /*****************************************************************************/