Use sv_t instead of raw char*

We're storing them as sv_t's anyway, we're fucked with regards to
indirection.  Thus, let's be nice to ourselves, and deal with the
structures.  We get the size of the structure for free anyway!
This commit is contained in:
2025-08-20 21:50:58 +01:00
parent 643896e2c8
commit df558da7e1
4 changed files with 11 additions and 11 deletions

6
tag.c
View File

@@ -22,7 +22,7 @@ lisp_t *tag_int(i64 i)
return TAG((u64)i, INT);
}
lisp_t *tag_sym(char *str)
lisp_t *tag_sym(sv_t *str)
{
return TAG((u64)str, SYM);
}
@@ -57,10 +57,10 @@ i64 as_int(lisp_t *obj)
;
}
char *as_sym(lisp_t *obj)
sv_t *as_sym(lisp_t *obj)
{
assert(IS_TAG(obj, SYM));
return (char *)UNTAG(obj, SYM);
return (sv_t *)UNTAG(obj, SYM);
}
cons_t *as_cons(lisp_t *obj)