summaryrefslogtreecommitdiffstats
path: root/lib.c
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2017-04-25 06:38:13 -0700
committerKaz Kylheku <kaz@kylheku.com>2017-04-25 06:38:13 -0700
commitd081a595dfa053c78f7e3f580f82ca7823f02f74 (patch)
treeea4b7b8312130645b67e980c6581fcda17ba1af1 /lib.c
parent0a4bbf74bdc55ed80e72aac2941dcd6aefc153b3 (diff)
downloadtxr-d081a595dfa053c78f7e3f580f82ca7823f02f74.tar.gz
txr-d081a595dfa053c78f7e3f580f82ca7823f02f74.tar.bz2
txr-d081a595dfa053c78f7e3f580f82ca7823f02f74.zip
Provide access to dlopen.
* configure: New test for dlopen. * lib.c (cptr_equal_op): Function renamed to cobj_equal_handle_op, to reflect what it's really doing; it is not specifically to cptr objects. Also changed from static to extern. (cptr_ops): Follow rename. * lib.h (cobj_equal_handle_op): Declared. * sysif.c (cptr_dl_destroy_op): New static function. (dlopen_wrap, dlclose_wrap, dlsym_wrap, dlvsym_wrap): New static functions. (sysif_init): Register new intrinsic functions dlopen, dlclose, dlsym, dlvsym. New variables rtld-lazy, rtld-now, rtld-global, rtld-local, rtld-nodelete, rtld-noload, rtld-deepbind.
Diffstat (limited to 'lib.c')
-rw-r--r--lib.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib.c b/lib.c
index 9e2decdd..8eaa81bf 100644
--- a/lib.c
+++ b/lib.c
@@ -7338,13 +7338,13 @@ void cobj_print_op(val obj, val out, val pretty, struct strm_ctx *ctx)
format(out, lit(": ~p>"), coerce(val, obj->co.handle), nao);
}
-static val cptr_equal_op(val left, val right)
+val cobj_equal_handle_op(val left, val right)
{
return (left->co.handle == right->co.handle) ? t : nil;
}
static struct cobj_ops cptr_ops = {
- cptr_equal_op,
+ cobj_equal_handle_op,
cobj_print_op,
cobj_destroy_stub_op,
cobj_mark_op,