summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2017-05-18 20:13:20 -0700
committerKaz Kylheku <kaz@kylheku.com>2017-05-18 20:13:20 -0700
commit7c77a7f02fc9c4c688381e823887a6bbf7ff1bd8 (patch)
treed58afe16e8d52aea2fced6f93a73e099ec4b6e07
parent9bb817c2beac1baf40a9d022db350fc83a453da2 (diff)
downloadtxr-7c77a7f02fc9c4c688381e823887a6bbf7ff1bd8.tar.gz
txr-7c77a7f02fc9c4c688381e823887a6bbf7ff1bd8.tar.bz2
txr-7c77a7f02fc9c4c688381e823887a6bbf7ff1bd8.zip
ffi: unknown carray length represented as nil.
* ffi.c (length_carray): Convert the internal representation of unknown length, which is a -1 of type cnum, into a nil return value.
-rw-r--r--ffi.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/ffi.c b/ffi.c
index e5f70b3e..75a37ab8 100644
--- a/ffi.c
+++ b/ffi.c
@@ -2397,7 +2397,7 @@ val carray_type(val carray)
val length_carray(val carray)
{
struct carray *scry = carray_struct_checked(carray);
- return num(scry->nelem);
+ return if3(scry->nelem < 0, nil, num(scry->nelem));
}
mem_t *carray_get(val carray, val type, val self)