authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2016-02-04 01:00:54-07:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2016-02-04 01:00:54-07:00
logbb4a532785e8bcd0080eeac291bd3b205279f045
treeb119dff287b80f7c184da87ac9ec09ae510895f0
parent1f9734d1eefa98c4c51ee740717a6cc003a5a7ed

move os_get_random_bytes to os.zig


4 files changed, 19 insertions(+), 12 deletions(-)

CMakeLists.txt+1
...@@ -126,6 +126,7 @@ set(ZIG_STD_SRC...@@ -126,6 +126,7 @@ set(ZIG_STD_SRC
126 "${CMAKE_SOURCE_DIR}/std/test_runner_libc.zig"126 "${CMAKE_SOURCE_DIR}/std/test_runner_libc.zig"
127 "${CMAKE_SOURCE_DIR}/std/test_runner_nolibc.zig"127 "${CMAKE_SOURCE_DIR}/std/test_runner_nolibc.zig"
128 "${CMAKE_SOURCE_DIR}/std/std.zig"128 "${CMAKE_SOURCE_DIR}/std/std.zig"
129 "${CMAKE_SOURCE_DIR}/std/os.zig"
129 "${CMAKE_SOURCE_DIR}/std/syscall.zig"130 "${CMAKE_SOURCE_DIR}/std/syscall.zig"
130 "${CMAKE_SOURCE_DIR}/std/errno.zig"131 "${CMAKE_SOURCE_DIR}/std/errno.zig"
131 "${CMAKE_SOURCE_DIR}/std/rand.zig"132 "${CMAKE_SOURCE_DIR}/std/rand.zig"
example/guess_number/main.zig+1
...@@ -2,6 +2,7 @@ export executable "guess_number";...@@ -2,6 +2,7 @@ export executable "guess_number";
22
3import "std.zig";3import "std.zig";
4import "rand.zig";4import "rand.zig";
5import "os.zig";
56
6pub fn main(args: [][]u8) -> %void {7pub fn main(args: [][]u8) -> %void {
7 %%stderr.print_str("Welcome to the Guess Number Game in Zig.\n");8 %%stderr.print_str("Welcome to the Guess Number Game in Zig.\n");
std/os.zig created+17
...@@ -0,0 +1,17 @@
1import "syscall.zig";
2import "errno.zig";
3
4pub error SigInterrupt;
5pub error Unexpected;
6
7pub fn os_get_random_bytes(buf: []u8) -> %void {
8 const amt_got = getrandom(buf.ptr, buf.len, 0);
9 if (amt_got < 0) {
10 return switch (-amt_got) {
11 EINVAL => unreachable{},
12 EFAULT => unreachable{},
13 EINTR => error.SigInterrupt,
14 else => error.Unexpected,
15 }
16 }
17}
std/std.zig-12
...@@ -160,18 +160,6 @@ pub struct InStream {...@@ -160,18 +160,6 @@ pub struct InStream {
160 }160 }
161}161}
162162
163pub fn os_get_random_bytes(buf: []u8) -> %void {
164 const amt_got = getrandom(buf.ptr, buf.len, 0);
165 if (amt_got < 0) {
166 return switch (-amt_got) {
167 EINVAL => unreachable{},
168 EFAULT => unreachable{},
169 EINTR => error.SigInterrupt,
170 else => error.Unexpected,
171 }
172 }
173}
174
175#attribute("cold")163#attribute("cold")
176pub fn abort() -> unreachable {164pub fn abort() -> unreachable {
177 raise(SIGABRT);165 raise(SIGABRT);