Browse Source

Make `runtime.memset` use `int` for the length from `uint`

gingerBill 3 years ago
parent
commit
bfc92d0aaf
3 changed files with 5 additions and 3 deletions
  1. 3 1
      core/c/libc/string.odin
  2. 1 1
      core/mem/mem.odin
  3. 1 1
      core/runtime/procs.odin

+ 3 - 1
core/c/libc/string.odin

@@ -41,4 +41,6 @@ foreign libc {
 	strerror :: proc(errnum: int) -> [^]char ---
 	strerror :: proc(errnum: int) -> [^]char ---
 	strlen   :: proc(s: cstring) -> size_t ---
 	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)
+}

+ 1 - 1
core/mem/mem.odin

@@ -4,7 +4,7 @@ import "core:runtime"
 import "core:intrinsics"
 import "core:intrinsics"
 
 
 set :: proc "contextless" (data: rawptr, value: byte, len: int) -> rawptr {
 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 {
 zero :: proc "contextless" (data: rawptr, len: int) -> rawptr {
 	intrinsics.mem_zero(data, len)
 	intrinsics.mem_zero(data, len)

+ 1 - 1
core/runtime/procs.odin

@@ -1,7 +1,7 @@
 package runtime
 package runtime
 
 
 @(link_name="memset")
 @(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 {
 	if ptr != nil && len != 0 {
 		b := byte(val)
 		b := byte(val)
 		p := ([^]byte)(ptr)
 		p := ([^]byte)(ptr)