mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-24 12:20:20 +02:00
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.
This commit is contained in:
parent
7fb9c4aff2
commit
1d00abb04f
3 changed files with 27 additions and 0 deletions
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -55,6 +55,7 @@ typedef void (*scm_t_pointer_finalizer) (void *);
|
|||
#define SCM_POINTER_VALUE(x) \
|
||||
((void *) SCM_CELL_WORD_1 (x))
|
||||
|
||||
SCM_API void *scm_to_pointer (SCM pointer);
|
||||
SCM_API SCM scm_from_pointer (void *, scm_t_pointer_finalizer);
|
||||
|
||||
SCM_API SCM scm_alignof (SCM type);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue