summaryrefslogtreecommitdiff
path: root/libguile/foreign.c
diff options
context:
space:
mode:
authorMark H Weaver <mhw@netris.org>2012-02-02 17:23:35 -0500
committerMark H Weaver <mhw@netris.org>2012-02-02 18:34:52 -0500
commit1d00abb04fd8c11d872dc6dc2a49ebb9767d0c18 (patch)
tree3ea15035020684fb7fcb3dc6420f2a4b22aff42c /libguile/foreign.c
parent7fb9c4aff29daab35d0726bac58f8fbd6bd2e26c (diff)
downloadguile-1d00abb04fd8c11d872dc6dc2a49ebb9767d0c18.tar.gz
Implement scm_to_pointer
* libguile/foreign.c, libguile/foreign.h (scm_to_pointer): New C function. * test-suite/standalone/test-loose-ends.c: Add test.
Diffstat (limited to 'libguile/foreign.c')
-rw-r--r--libguile/foreign.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/libguile/foreign.c b/libguile/foreign.c
index 611b08fac..b3d1cc69a 100644
--- a/libguile/foreign.c
+++ b/libguile/foreign.c
@@ -139,6 +139,15 @@ SCM_DEFINE (scm_make_pointer, "make-pointer", 1, 1, 0,
}
#undef FUNC_NAME
+void *
+scm_to_pointer (SCM pointer)
+#define FUNC_NAME "scm_to_pointer"
+{
+ SCM_VALIDATE_POINTER (1, pointer);
+ return SCM_POINTER_VALUE (pointer);
+}
+#undef FUNC_NAME
+
SCM
scm_from_pointer (void *ptr, scm_t_pointer_finalizer finalizer)
{