diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2017-06-11 08:33:20 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2017-06-11 08:33:20 -0700 |
commit | 05e9ac4bd7a26c6c5b5979efca64260f7d38970c (patch) | |
tree | 5065e4e82561ea4e28337dcb2dd6c0f0a7b04cc7 | |
parent | 0f1ea0a977d6d0306164857352d819cf081eabda (diff) | |
download | txr-05e9ac4bd7a26c6c5b5979efca64260f7d38970c.tar.gz txr-05e9ac4bd7a26c6c5b5979efca64260f7d38970c.tar.bz2 txr-05e9ac4bd7a26c6c5b5979efca64260f7d38970c.zip |
buf: support ref, refset and indexing.
* lib.c (generic_funcall, ref, refset): Handle BUF.
-rw-r--r-- | lib.c | 5 |
1 files changed, 5 insertions, 0 deletions
@@ -5864,6 +5864,7 @@ val generic_funcall(val fun, struct args *args_in) case STR: case LIT: case LSTR: + case BUF: carray: bug_unless (args->argc >= ARGS_MIN); args_normalize(args, 3); @@ -9212,6 +9213,8 @@ val ref(val seq, val ind) return chr_str(seq, ind); case VEC: return vecref(seq, ind); + case BUF: + return buf_get_uchar(seq, ind); default: type_mismatch(lit("ref: ~s is not a sequence"), seq, nao); } @@ -9230,6 +9233,8 @@ val refset(val seq, val ind, val newval) return chr_str_set(seq, ind, newval); case VEC: return set(vecref_l(seq, ind), newval); + case BUF: + return buf_put_uchar(seq, ind, newval); case COBJ: if (seq->co.cls == hash_s) return sethash(seq, ind, newval); |