summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobby Zambito <contact@robbyzambito.me>2025-12-31 00:55:08 +0000
committerRobby Zambito <contact@robbyzambito.me>2025-12-31 00:56:34 +0000
commit1b6447a9864ac2a55032177dfa74d521291a501c (patch)
treef17d6e6ac997fbf9f01e5d89a8cd49fa3fb53c55
parentd4566eba52d49f44f2b1691b5c5d3efb5cb33fed (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.zig3
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);