2
0

rand_darwin.odin 377 B

123456789101112
  1. package crypto
  2. import "core:fmt"
  3. import "core:sys/darwin"
  4. _rand_bytes :: proc(dst: []byte) {
  5. res := darwin.SecRandomCopyBytes(count=len(dst), bytes=raw_data(dst))
  6. if res != .Success {
  7. msg := darwin.CFStringCopyToOdinString(darwin.SecCopyErrorMessageString(res))
  8. panic(fmt.tprintf("crypto/rand_bytes: SecRandomCopyBytes returned non-zero result: %v %s", res, msg))
  9. }
  10. }