Make runtime.memset use int for the length from uint

This commit is contained in:
gingerBill
2021-09-23 23:43:29 +01:00
parent 8c4197af38
commit bfc92d0aaf
3 changed files with 5 additions and 3 deletions

View File

@@ -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)
}

View File

@@ -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)

View File

@@ -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)