summaryrefslogtreecommitdiff
path: root/src/ninep/pane.zig
diff options
context:
space:
mode:
Diffstat (limited to 'src/ninep/pane.zig')
-rw-r--r--src/ninep/pane.zig11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/ninep/pane.zig b/src/ninep/pane.zig
index f69813b0..48c2888e 100644
--- a/src/ninep/pane.zig
+++ b/src/ninep/pane.zig
@@ -936,10 +936,11 @@ fn writeName(p: *Pardes, req: Req, id: usize, pane: *Pane) Reply {
const name = if (std.mem.endsWith(u8, req.data, "\n")) req.data[0 .. req.data.len - 1] else req.data;
if (name.len == 0) return tree.failText(req.tag, E.INVAL, e_name_char ++ ": an empty name");
if (nameFault(name)) |why| return tree.failText(req.tag, E.INVAL, why);
- if (fileOf(pane) == null) return tree.failText(req.tag, E.PERM, if (pane.isTerminal())
- "rename not allowed: a terminal is named by its shell's directory; cd there, or Tty in another"
+ // Words 9ns maps to EINVAL, as every refusal of a name here.
+ if (fileOf(pane) == null) return tree.failText(req.tag, E.INVAL, if (pane.isTerminal())
+ "invalid rename: a terminal is named by its shell's directory; cd there, or Tty in another"
else
- "rename not allowed: an image or PDF is named by the file it shows");
+ "invalid rename: an image or PDF is named by the file it shows");
var home_buf: [4096]u8 = undefined;
const full = std.fs.path.resolvePosix(p.scratch.allocator(), &.{ pardes.Pardes.paneDir(pane), fs.expandHome(name, &home_buf) }) catch
return Reply.fail(req.tag, E.NOMEM);
@@ -1126,8 +1127,8 @@ test "a terminal is listed as term with its directory as name" {
) != null);
try testing.expectEqualStrings("/work/dir\n", rd(p, Node.of(pane.serial, .name), 0, 4096).bytes);
const refused = wr(p, Node.of(pane.serial, .name), "/elsewhere\n");
- try testing.expectEqual(E.PERM, refused.errno());
- try testing.expect(std.mem.startsWith(u8, refused.reply.ename, "rename not allowed: a terminal is named"));
+ try testing.expectEqual(E.INVAL, refused.errno());
+ try testing.expect(std.mem.startsWith(u8, refused.reply.ename, "invalid rename: a terminal is named"));
}
test "body reads at any offset and writes append" {