From 596ab33bb0e923f66c52595bf41309040d9233e8 Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Sun, 11 Jun 2017 08:33:20 -0700 Subject: buf: support ref, refset and indexing. * lib.c (generic_funcall, ref, refset): Handle BUF. --- lib.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lib.c b/lib.c index 56cbf4ae..95016a33 100644 --- a/lib.c +++ b/lib.c @@ -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); -- cgit v1.2.3