From 6ddb05d996ee23af585ad22c8cdb447d4550f2ea Mon Sep 17 00:00:00 2001 From: Frank Denis Date: Sun, 18 Oct 2020 16:28:11 +0200 Subject: Darwin has arc4random(), too --- lib/std/os.zig | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'lib/std/os.zig') diff --git a/lib/std/os.zig b/lib/std/os.zig index 8994884566..4ccdf57ad3 100644 --- a/lib/std/os.zig +++ b/lib/std/os.zig @@ -164,17 +164,17 @@ pub fn getrandom(buffer: []u8) GetRandomError!void { } return; } - if (builtin.os.tag == .netbsd or builtin.os.tag == .openbsd) { - system.arc4random_buf(buffer.ptr, buffer.len); - return; - } - if (builtin.os.tag == .wasi) { - switch (wasi.random_get(buffer.ptr, buffer.len)) { + switch (builtin.os.tag) { + .netbsd, .openbsd, .macos, .ios, .tvos, .watchos => { + system.arc4random_buf(buffer.ptr, buffer.len); + return; + }, + .wasi => switch (wasi.random_get(buffer.ptr, buffer.len)) { 0 => return, else => |err| return unexpectedErrno(err), - } + }, + else => return getRandomBytesDevURandom(buffer), } - return getRandomBytesDevURandom(buffer); } fn getRandomBytesDevURandom(buf: []u8) !void { -- cgit v1.2.3