From 871ad165015f61f2225eb5f58db135984f65fade Mon Sep 17 00:00:00 2001 From: Shane Shrybman Date: Thu, 12 Feb 2026 10:54:59 -0500 Subject: Add the length checks back to string.compare() --- core/strings/strings.odin | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/core/strings/strings.odin b/core/strings/strings.odin index 9b75c558b..c19bf8c37 100644 --- a/core/strings/strings.odin +++ b/core/strings/strings.odin @@ -242,7 +242,13 @@ Returns: - result: `-1` if `lhs` comes first, `1` if `rhs` comes first, or `0` if they are equal */ compare :: proc "contextless" (lhs, rhs: string) -> (res: int) { - return runtime.string_cmp(lhs, rhs) + res = runtime.string_cmp(lhs, rhs) + if res == 0 && len(lhs) != len(rhs) { + return len(lhs) <= len(rhs) ? -1 : +1 + } else if len(lhs) == 0 && len(rhs) == 0 { + return 0 + } + return res } /* -- cgit v1.2.3