From 419cbb3aa95efa37b307568d06c0e0bf739c8c38 Mon Sep 17 00:00:00 2001 From: Mike Pall Date: Thu, 21 Jan 2010 15:29:23 +0100 Subject: [PATCH] Fix ordered string comparisons. Unsigned arithmetic is evil. --- src/lj_str.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lj_str.c b/src/lj_str.c index f142b8e7..78f81e6a 100644 --- a/src/lj_str.c +++ b/src/lj_str.c @@ -37,7 +37,7 @@ int32_t LJ_FASTCALL lj_str_cmp(GCstr *a, GCstr *b) va >>= 32+(i<<3); vb >>= 32+(i<<3); if (va == vb) break; } - return (int32_t)(va - vb); + return va < vb ? -1 : 1; } } return (int32_t)(a->len - b->len);