diff options
Diffstat (limited to 'lib.c')
-rw-r--r-- | lib.c | 5 |
1 files changed, 4 insertions, 1 deletions
@@ -310,7 +310,7 @@ val sixth(val cons) val listref(val list, val ind) { if (lt(ind, zero)) - return nil; + ind = plus(ind, length_list(list)); for (; gt(ind, zero); ind = minus(ind, one)) list = cdr(list); return car(list); @@ -321,6 +321,9 @@ val *listref_l(val list, val ind) val olist = list; val oind = ind; + if (lt(ind, zero)) + ind = plus(ind, length_list(list)); + for (; gt(ind, zero) && list; ind = minus(ind, one)) list = cdr(list); if (consp(list)) |