projects
/
fw
/
altos
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
| inline |
side by side
altos/lisp: add length, pack, unpack and flush
[fw/altos]
/
src
/
lisp
/
ao_lisp_cons.c
diff --git
a/src/lisp/ao_lisp_cons.c
b/src/lisp/ao_lisp_cons.c
index cd8a8d1d03b9920716fece9c834e101f3d70b55f..b75ffaa0d611ffa5427e7b191d4d68d996e74534 100644
(file)
--- a/
src/lisp/ao_lisp_cons.c
+++ b/
src/lisp/ao_lisp_cons.c
@@
-107,3
+107,14
@@
ao_lisp_cons_patom(ao_poly c)
cons = ao_lisp_poly_cons(cons->cdr);
}
}
+
+int
+ao_lisp_cons_length(struct ao_lisp_cons *cons)
+{
+ int len = 0;
+ while (cons) {
+ len++;
+ cons = ao_lisp_poly_cons(cons->cdr);
+ }
+ return len;
+}