aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorgingerBill <bill@gingerbill.org>2021-09-23 23:43:29 +0100
committergingerBill <bill@gingerbill.org>2021-09-23 23:43:29 +0100
commitbfc92d0aaf4e04b8378266e2ab25a8e381e34874 (patch)
tree71e8b0219aeaa315c4e6347ca883115e5fe2c5de
parent8c4197af38e6a342554c9b5602206916d983c6bc (diff)
Make `runtime.memset` use `int` for the length from `uint`
-rw-r--r--core/c/libc/string.odin4
-rw-r--r--core/mem/mem.odin2
-rw-r--r--core/runtime/procs.odin2
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)