diff options
| author | Robby Zambito <contact@robbyzambito.me> | 2025-12-31 00:55:08 +0000 |
|---|---|---|
| committer | Robby Zambito <contact@robbyzambito.me> | 2025-12-31 00:56:34 +0000 |
| commit | 1b6447a9864ac2a55032177dfa74d521291a501c (patch) | |
| tree | f17d6e6ac997fbf9f01e5d89a8cd49fa3fb53c55 | |
| parent | d4566eba52d49f44f2b1691b5c5d3efb5cb33fed (diff) | |
Fix sub parse bug
Was accidentally consuming one more byte than I was expecting when reaching the end of the second term.
This was causing the parser to work properly in the case that a queue group was specified, but failing and consuming the next message (usually a PING) as the SID.
| -rw-r--r-- | src/server/message_parser.zig | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/server/message_parser.zig b/src/server/message_parser.zig index 9fd490c..50e4e41 100644 --- a/src/server/message_parser.zig +++ b/src/server/message_parser.zig @@ -260,9 +260,10 @@ pub const Message = union(MessageType) { } else |err| return err; var acc: std.ArrayList(u8) = try .initCapacity(alloc, 32); - while (in.takeByte()) |byte| { + while (in.peekByte()) |byte| { if (std.ascii.isWhitespace(byte)) break; try acc.append(alloc, byte); + in.toss(1); } else |err| return err; break :blk try acc.toOwnedSlice(alloc); |
