diff options
author | Mike Pall <mike> | 2010-01-21 15:29:23 +0100 |
---|---|---|
committer | Mike Pall <mike> | 2010-01-21 15:29:23 +0100 |
commit | 419cbb3aa95efa37b307568d06c0e0bf739c8c38 (patch) | |
tree | 828eda58018b67dc19699bc6c78886fe67c7bd96 /src | |
parent | d62dcd4a72f0f3b1bb2c53483aa3ea6d4dec4935 (diff) | |
download | luajit-419cbb3aa95efa37b307568d06c0e0bf739c8c38.tar.gz luajit-419cbb3aa95efa37b307568d06c0e0bf739c8c38.tar.bz2 luajit-419cbb3aa95efa37b307568d06c0e0bf739c8c38.zip |
Fix ordered string comparisons. Unsigned arithmetic is evil.
Diffstat (limited to 'src')
-rw-r--r-- | src/lj_str.c | 2 |
1 files changed, 1 insertions, 1 deletions
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) | |||
37 | va >>= 32+(i<<3); vb >>= 32+(i<<3); | 37 | va >>= 32+(i<<3); vb >>= 32+(i<<3); |
38 | if (va == vb) break; | 38 | if (va == vb) break; |
39 | } | 39 | } |
40 | return (int32_t)(va - vb); | 40 | return va < vb ? -1 : 1; |
41 | } | 41 | } |
42 | } | 42 | } |
43 | return (int32_t)(a->len - b->len); | 43 | return (int32_t)(a->len - b->len); |