diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/zisp/io/Parser.zig | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/zisp/io/Parser.zig b/src/zisp/io/Parser.zig index e29868a..a56a61b 100644 --- a/src/zisp/io/Parser.zig +++ b/src/zisp/io/Parser.zig @@ -481,13 +481,14 @@ fn getString(p: *Parser, comptime close: u8) !Value { } fn getAtString(p: *Parser) !Value { - const sentinel = try p.readNoEof("at-string"); + const stop = try p.readNoEof("at-string"); while (try p.readNoEof2("at-string")) |c| { - if (c == sentinel) break; + if (c == stop) break; try p.addChar(c); } - const s = try p.getCharsAsString(); - return p.cons(ATSTR, s); + const str = try p.getCharsAsString(); + const byte = value.fixnum.pack(stop); + return p.cons(ATSTR, p.cons(byte, str)); } fn skipStringLfEscape(p: *Parser) !u8 { |
