summaryrefslogtreecommitdiff
path: root/cmamut.lisp
diff options
context:
space:
mode:
Diffstat (limited to 'cmamut.lisp')
-rw-r--r--cmamut.lisp8
1 files changed, 5 insertions, 3 deletions
diff --git a/cmamut.lisp b/cmamut.lisp
index 6f20d3e..55784cc 100644
--- a/cmamut.lisp
+++ b/cmamut.lisp
@@ -181,6 +181,7 @@
(let ((tag (gethash "tag" (aref spec i))))
(cond ((string= tag "function")
(push (aref spec i) (spec-functions s)))
+
((string= tag "typedef")
(let ((internal-type (gethash "type" (aref spec i))))
(cond ((string= (gethash "tag" internal-type) "struct")
@@ -191,8 +192,9 @@
(json:from-string
(format nil
"{ \"tag\": \":struct\", \"name\": ~s }"
- (gethash "name" (aref spec i))))))
- (t (push (aref spec i) (spec-typedefs s))))))
+ (gethash "name" (aref spec i)))))))
+ (push (aref spec i) (spec-typedefs s))))
+
((string= tag "struct")
(push (aref spec i) (spec-structs s)))
((string= tag "enum")
@@ -200,7 +202,7 @@
((string= tag "union")
(push (aref spec i) (spec-unions s)))
(t))))
- s))
+ s))
(defun codegen (spec)
(clrhash enum-references)