From 30bfe8143c5e3840275880d77e9765cf94910ee1 Mon Sep 17 00:00:00 2001 From: Gabriel Schneider Date: Wed, 30 Sep 2026 14:05:41 -0300 Subject: A tag write over the limit is refused "no space: over 4096 bytes", so its err record says tag: once The refusal's text began with "tag: ", and the log's err record puts the file's name before the reason. So the record read `err - col/1/tag: tag: no space: over 4096 bytes`. The text is now the reason alone, as the control-character refusal's is, and the record names the file once. Co-Authored-By: Claude Opus 5.5 --- src/ninep/cols.zig | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src/ninep/cols.zig') diff --git a/src/ninep/cols.zig b/src/ninep/cols.zig index 24fb590c..9185a2bc 100644 --- a/src/ninep/cols.zig +++ b/src/ninep/cols.zig @@ -500,7 +500,10 @@ test "a refused write after a truncation leaves every kind of tag as it was, and const h = th.call(p, .{ .tag = 2, .op = .open, .node = node, .omode = 1 }).reply.handle; const r = th.call(p, .{ .tag = 3, .op = .write, .node = node, .handle = h, .data = big }); try testing.expectEqual(E.NOSPC, r.errno()); - try testing.expectEqualStrings("tag: no space: over 4096 bytes", r.reply.ename); + try testing.expectEqualStrings("no space: over 4096 bytes", r.reply.ename); + // Its err record names the file once: `tag: no space`, never `tag: tag:`. + try testing.expect(th.logHas(p, "tag: no space: over 4096 bytes")); + try testing.expect(!th.logHas(p, "tag: tag:")); _ = th.call(p, .{ .tag = 4, .op = .release, .node = node, .handle = h, .opened = true }); try testing.expectEqualStrings(before, th.rd(p, node, 0, 1 << 16).bytes); // A control character is refused the same way on every kind. -- cgit v1.3