os

An operating system
git clone https://erai.gay/code/os/
Log | Files | Refs | README | LICENSE

commit 33ea3f56907ddabfb0db5697d3473a43e1a1d502
parent ff8504920ddb073c4ecfc72bcb8fca9da7ebb978
Author: erai <erai@omiltem.net>
Date:   Sat, 16 Mar 2024 11:39:44 -0400

find_tag: append

Diffstat:
Mlex.c | 10++++++----
1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/lex.c b/lex.c @@ -593,22 +593,24 @@ intern(c: *compiler): *byte { find_tag(c: *compiler, s: *byte): *tag { var t: *tag; - t = c.tags; + var link: **tag; + link = &c.tags; loop { + t = *link; if (!t) { break; } if (!strcmp(t.s, s)) { return t; } - t = t.next; + link = &t.next; } t = alloc(&c.a, sizeof(*t)): *tag; - t.next = c.tags; + t.next = 0:*tag; t.s = intern(c); t.id = c.ntags; c.ntags = c.ntags + 1; - c.tags = t; + *link = t; return t; }