Browse Source

Fix `runtime.cstring_len`

gingerBill 5 years ago
parent
commit
fe5c642d9f
1 changed files with 3 additions and 3 deletions
  1. 3 3
      core/runtime/internal.odin

+ 3 - 3
core/runtime/internal.odin

@@ -348,12 +348,12 @@ string_le :: inline proc "contextless" (a, b: string) -> bool { return string_cm
 string_ge :: inline proc "contextless" (a, b: string) -> bool { return string_cmp(a, b) >= 0; }
 string_ge :: inline proc "contextless" (a, b: string) -> bool { return string_cmp(a, b) >= 0; }
 
 
 cstring_len :: proc "contextless" (s: cstring) -> int {
 cstring_len :: proc "contextless" (s: cstring) -> int {
-	n := 0;
-	p := uintptr((^byte)(s));
+	p0 := uintptr((^byte)(s));
+	p := p0;
 	for p != 0 && (^byte)(p)^ != 0 {
 	for p != 0 && (^byte)(p)^ != 0 {
 		p += 1;
 		p += 1;
 	}
 	}
-	return n;
+	return int(p - p0);
 }
 }
 
 
 cstring_to_string :: proc "contextless" (s: cstring) -> string {
 cstring_to_string :: proc "contextless" (s: cstring) -> string {