summaryrefslogtreecommitdiff
path: root/src/ninep/ctl.zig
diff options
context:
space:
mode:
authorGabriel Schneider <[email protected]>2026-09-29 07:12:25 -0300
committerGabriel Schneider <[email protected]>2026-10-01 00:12:16 -0300
commitd13ae04008e678ed992e6181487dbfd126a4154f (patch)
tree54c2460c28eed783683206cc1685fa958a786589 /src/ninep/ctl.zig
parent9ecabb15b648237cca94253a7abc4b556805fde0 (diff)
downloadpardes-d13ae04008e678ed992e6181487dbfd126a4154f.tar.gz
pardes-d13ae04008e678ed992e6181487dbfd126a4154f.zip
A look line takes `?re?` after its colon, as addr does
`file:?foo?`, `@p5:?foo?` and `:?foo?` were not taken for addresses (the first character had to be one of `0-9+-/$.#,;`), so they went the path way and found nothing. Co-Authored-By: Claude Opus 5.5 <[email protected]>
Diffstat (limited to 'src/ninep/ctl.zig')
-rw-r--r--src/ninep/ctl.zig3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/ninep/ctl.zig b/src/ninep/ctl.zig
index acb1b934..02201de0 100644
--- a/src/ninep/ctl.zig
+++ b/src/ninep/ctl.zig
@@ -1951,6 +1951,9 @@ test "@p<serial>:<address> takes any sam address; a miss and an unknown serial a
.{ .addr = "#12,#15", .want = " 12 15 " },
.{ .addr = "$", .want = " 16 16 " },
.{ .addr = "1,2", .want = " 0 16 " },
+ // Backward, as in addr: from the dot's start, wrapping to the last.
+ .{ .addr = "?foo?", .want = " 6 9 " },
+ .{ .addr = "$-?y?", .want = " 10 11 " },
}) |c| {
var line: [64]u8 = undefined;
try testing.expectEqual(Status.ok, wr(p, root, try std.fmt.bufPrint(&line, "@p{d}:{s}\n", .{ serial, c.addr })).reply.status);