mirror of
https://github.com/odin-lang/Odin.git
synced 2026-01-17 18:17:01 +00:00
Add other constants to c and libc
This commit is contained in:
@@ -89,6 +89,14 @@ INT16_MIN :: ~INT16_MAX
|
||||
INT32_MIN :: ~INT32_MAX
|
||||
INT64_MIN :: ~INT64_MAX
|
||||
|
||||
SIZE_MAX :: max(size_t)
|
||||
|
||||
PTRDIFF_MIN :: min(ptrdiff_t)
|
||||
PTRDIFF_MAX :: max(ptrdiff_t)
|
||||
|
||||
WCHAR_MIN :: min(wchar_t)
|
||||
WCHAR_MAX :: max(wchar_t)
|
||||
|
||||
NULL :: rawptr(uintptr(0))
|
||||
|
||||
NDEBUG :: !ODIN_DEBUG
|
||||
|
||||
@@ -10,6 +10,9 @@ when ODIN_OS == "windows" {
|
||||
|
||||
sig_atomic_t :: distinct atomic_int
|
||||
|
||||
SIG_ATOMIC_MIN :: min(sig_atomic_t)
|
||||
SIG_ATOMIC_MAX :: max(sig_atomic_t)
|
||||
|
||||
@(default_calling_convention="c")
|
||||
foreign libc {
|
||||
signal :: proc(sig: int, func: proc "c" (int)) -> proc "c" (int) ---
|
||||
|
||||
@@ -38,7 +38,7 @@ foreign libc {
|
||||
strtok :: proc(s1: [^]char, s2: cstring) -> [^]char ---
|
||||
|
||||
// 7.24.6 Miscellaneous functions
|
||||
memset : proc(s: rawptr, c: int, n: size_t) -> rawptr : runtime.memset
|
||||
strerror :: proc(errnum: int) -> [^]char ---
|
||||
strlen :: proc(s: cstring) -> size_t ---
|
||||
}
|
||||
memset : proc "c" (s: rawptr, c: int, n: size_t) -> rawptr : runtime.memset
|
||||
|
||||
@@ -4,7 +4,7 @@ import "core:runtime"
|
||||
import "core:intrinsics"
|
||||
|
||||
set :: proc "contextless" (data: rawptr, value: byte, len: int) -> rawptr #no_bounds_check {
|
||||
return runtime.memset(data, i32(value), len)
|
||||
return runtime.memset(data, i32(value), int(len))
|
||||
}
|
||||
zero :: proc "contextless" (data: rawptr, len: int) -> rawptr {
|
||||
return set(data, 0, len)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package runtime
|
||||
|
||||
@(link_name="memset")
|
||||
memset :: proc "c" (ptr: rawptr, val: i32, len: int) -> rawptr #no_bounds_check {
|
||||
memset :: proc "c" (ptr: rawptr, val: i32, len: uint) -> rawptr #no_bounds_check {
|
||||
if ptr != nil && len != 0 {
|
||||
b := byte(val)
|
||||
p := ([^]byte)(ptr)
|
||||
|
||||
Reference in New Issue
Block a user