diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2017-05-20 08:32:27 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2017-05-20 08:32:27 -0700 |
commit | 945a99aafab2541253754d01dc903ccc6671155d (patch) | |
tree | 453efbabeb45de8b142da4b0453a9f14f2ea5050 /txr.1 | |
parent | 6d8f4f8f500c8e8d36ff66a1160788042e219b61 (diff) | |
download | txr-945a99aafab2541253754d01dc903ccc6671155d.tar.gz txr-945a99aafab2541253754d01dc903ccc6671155d.tar.bz2 txr-945a99aafab2541253754d01dc903ccc6671155d.zip |
ffi: variable length zarray needs in operation.
* ffi.c (ffi_varray_null_term_in): New static function.
(ffi_type_compile): Wire in new function as in operation
of variable length zarray.
* txr.1: Documented.
Diffstat (limited to 'txr.1')
-rw-r--r-- | txr.1 | 14 |
1 files changed, 13 insertions, 1 deletions
@@ -53719,7 +53719,19 @@ the .code zarray type supports the get operation, which extracts elements, accumulating them into a resulting vector, until it encounters an element consisting of all zero -bytes. +bytes. That element terminates the decoding, and isn't included in the +resulting array. + +The variable-length +.code zarray +also has a special in operation. Like the get operation, the in operation +extracts all elements until a terminating null, decoding them to a vector. +Then, a range of the original vector object is replaced with the decoded vector. +If the decoded vector is as long, or longer, than the original, all of the +elements of the original are replaced and its length is extended as necessary +to contain all of the new elements. If the decoded vector is shorter than the +decoded one, then it replaces a range of the original one corresponding to +its length. .meIP (ptr << type ) The |