From bfc92d0aaf4e04b8378266e2ab25a8e381e34874 Mon Sep 17 00:00:00 2001 From: gingerBill Date: Thu, 23 Sep 2021 23:43:29 +0100 Subject: [PATCH] Make `runtime.memset` use `int` for the length from `uint` --- core/c/libc/string.odin | 4 +++- core/mem/mem.odin | 2 +- core/runtime/procs.odin | 2 +- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/core/c/libc/string.odin b/core/c/libc/string.odin index 343bdd22d..cd577237c 100644 --- a/core/c/libc/string.odin +++ b/core/c/libc/string.odin @@ -41,4 +41,6 @@ foreign libc { strerror :: proc(errnum: int) -> [^]char --- strlen :: proc(s: cstring) -> size_t --- } -memset : proc "c" (s: rawptr, c: int, n: size_t) -> rawptr : runtime.memset +memset :: proc "c" (s: rawptr, c: int, n: size_t) -> rawptr { + return runtime.memset(s, c, auto_cast n) +} diff --git a/core/mem/mem.odin b/core/mem/mem.odin index 3d5a6f30b..c6b1813ae 100644 --- a/core/mem/mem.odin +++ b/core/mem/mem.odin @@ -4,7 +4,7 @@ import "core:runtime" import "core:intrinsics" set :: proc "contextless" (data: rawptr, value: byte, len: int) -> rawptr { - return runtime.memset(data, i32(value), uint(len)) + return runtime.memset(data, i32(value), len) } zero :: proc "contextless" (data: rawptr, len: int) -> rawptr { intrinsics.mem_zero(data, len) diff --git a/core/runtime/procs.odin b/core/runtime/procs.odin index 94624eea6..0aaf49928 100644 --- a/core/runtime/procs.odin +++ b/core/runtime/procs.odin @@ -1,7 +1,7 @@ package runtime @(link_name="memset") -memset :: proc "c" (ptr: rawptr, val: i32, len: uint) -> rawptr #no_bounds_check { +memset :: proc "c" (ptr: rawptr, val: i32, len: int) -> rawptr #no_bounds_check { if ptr != nil && len != 0 { b := byte(val) p := ([^]byte)(ptr)