summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYorhel <git@yorhel.nl>2021-07-16 18:32:49 +0200
committerYorhel <git@yorhel.nl>2021-07-16 18:35:21 +0200
commit5a196125dca729deb150a4444961101a2f5a7ff8 (patch)
tree946e5d00e975798e779e8f19dcf7eb4badef4a56
parent3a21dea2cd549a99cfeae50335b025f31c4066e9 (diff)
Use @errorName() fallback in ui.errorString()
Sticking to "compiletime-known" error types will essentially just bring in *every* possible error anyway, so might as well take advantage of @errorName.
-rw-r--r--src/ui.zig6
1 files changed, 2 insertions, 4 deletions
diff --git a/src/ui.zig b/src/ui.zig
index cc1784b..cdcaa3b 100644
--- a/src/ui.zig
+++ b/src/ui.zig
@@ -48,7 +48,7 @@ pub fn oom() void {
init();
}
-// Lazy strerror() for Zig file I/O, not complete.
+// Dumb strerror() alternative for Zig file I/O, not complete.
// (Would be nicer if Zig just exposed errno so I could call strerror() directly)
pub fn errorString(e: anyerror) [:0]const u8 {
return switch (e) {
@@ -70,9 +70,7 @@ pub fn errorString(e: anyerror) [:0]const u8 {
error.ReadOnlyFilesystem => "Read-only filesystem",
error.SymlinkLoop => "Symlink loop",
error.SystemFdQuotaExceeded => "System file descriptor limit exceeded",
- else => "Unknown error", // rather useless :(
- // ^ TODO: remove that one and accept only a restricted error set for
- // compile-time exhaustiveness checks.
+ else => @bitCast([:0]const u8, @errorName(e)), // XXX: The bitCast can be removed after a Zig >0.8 release.
};
}