diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2017-06-12 06:10:21 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2017-06-12 06:10:21 -0700 |
commit | a09815093b24e0bc8145190bd02110df63afb373 (patch) | |
tree | 685b0ba5c7a7cb3321d9511ce4672f49a1fc1569 /ffi.c | |
parent | c8fb508d1cc553ebf86be431b845dd9784cef135 (diff) | |
download | txr-a09815093b24e0bc8145190bd02110df63afb373.tar.gz txr-a09815093b24e0bc8145190bd02110df63afb373.tar.bz2 txr-a09815093b24e0bc8145190bd02110df63afb373.zip |
ffi: add carrayp function.
* ffi.c (carrayp): New function.
(ffi_init): Register carrayp intrinsic.
* ffi.h (carrayp): Declared.
* txr.1: Documented.
Diffstat (limited to 'ffi.c')
-rw-r--r-- | ffi.c | 6 |
1 files changed, 6 insertions, 0 deletions
@@ -4313,6 +4313,11 @@ val make_carray(val type, mem_t *data, cnum nelem, val ref) return obj; } +val carrayp(val obj) +{ + return tnil(typeof(obj) == carray_s); +} + val carray_set_length(val carray, val nelem) { struct carray *scry = carray_struct_checked(carray); @@ -4868,6 +4873,7 @@ void ffi_init(void) reg_fun(intern(lit("ffi-in"), user_package), func_n4(ffi_in)); reg_fun(intern(lit("ffi-get"), user_package), func_n2(ffi_get)); reg_fun(intern(lit("ffi-out"), user_package), func_n4(ffi_out)); + reg_fun(intern(lit("carrayp"), user_package), func_n1(carrayp)); reg_fun(intern(lit("carray-set-length"), user_package), func_n2(carray_set_length)); reg_fun(intern(lit("carray-dup"), user_package), func_n1(carray_dup)); reg_fun(intern(lit("carray-own"), user_package), func_n1(carray_own)); |