diff options
| author | Frank Denis <github@pureftpd.org> | 2020-10-18 16:28:11 +0200 |
|---|---|---|
| committer | Jakub Konka <kubkon@jakubkonka.com> | 2020-10-18 18:24:36 +0200 |
| commit | 6ddb05d996ee23af585ad22c8cdb447d4550f2ea (patch) | |
| tree | 9b6a21a6a761be32b5eaf34cac6a18a0e9c96f37 /lib/std/os.zig | |
| parent | b28992de7121802f3074d214d015d8bed66b624e (diff) | |
| download | zig-6ddb05d996ee23af585ad22c8cdb447d4550f2ea.tar.gz zig-6ddb05d996ee23af585ad22c8cdb447d4550f2ea.zip | |
Darwin has arc4random(), too
Diffstat (limited to 'lib/std/os.zig')
| -rw-r--r-- | lib/std/os.zig | 16 |
1 files changed, 8 insertions, 8 deletions
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 { |
