summaryrefslogtreecommitdiff
path: root/src/Messages.zig
diff options
context:
space:
mode:
Diffstat (limited to 'src/Messages.zig')
-rw-r--r--src/Messages.zig6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/Messages.zig b/src/Messages.zig
index c7ff09be..f4ea1c3e 100644
--- a/src/Messages.zig
+++ b/src/Messages.zig
@@ -388,6 +388,12 @@ pub fn messageLog(m: *const Messages, i: usize) ?*const LoggedMessage {
pub fn reportError(p: *Pardes, id: usize, operation: []const u8, err: anyerror) void {
var buf: [256]u8 = undefined;
const text = std.fmt.bufPrint(&buf, "{s}: {s}", .{ operation, @errorName(err) }) catch operation;
+ // A builtin a ctl write runs: its first error is also the write's.
+ if (p.fs.no_prompt and p.fs.failure_len == 0) {
+ const n = @min(text.len, p.fs.failure.len);
+ @memcpy(p.fs.failure[0..n], text[0..n]);
+ p.fs.failure_len = @intCast(n);
+ }
setMessage(p, id, text);
}