aboutsummaryrefslogtreecommitdiff
path: root/src/io/io_linux.zig
diff options
context:
space:
mode:
Diffstat (limited to 'src/io/io_linux.zig')
-rw-r--r--src/io/io_linux.zig8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/io/io_linux.zig b/src/io/io_linux.zig
index 559d2289d..fa4566b83 100644
--- a/src/io/io_linux.zig
+++ b/src/io/io_linux.zig
@@ -427,8 +427,12 @@ pub const errno_map: [135]Errno = brk: {
break :brk errors;
};
pub fn asError(err: anytype) Errno {
- return switch (err) {
- 1...errno_map.len => errno_map[@intCast(u8, err)],
+ const errnum = if (@typeInfo(@TypeOf(err)) == .Enum)
+ @enumToInt(err)
+ else
+ err;
+ return switch (errnum) {
+ 1...errno_map.len => errno_map[@intCast(u8, errnum)],
else => error.Unexpected,
};
}