From 5a196125dca729deb150a4444961101a2f5a7ff8 Mon Sep 17 00:00:00 2001
From: Yorhel <git@yorhel.nl>
Date: Fri, 16 Jul 2021 18:32:49 +0200
Subject: [PATCH] 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.
---
 src/ui.zig | 6 ++----
 1 file 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.
     };
 }
 
-- 
GitLab