Przeglądaj źródła

Fix ordered string comparisons. Unsigned arithmetic is evil.

Mike Pall 16 lat temu
rodzic
commit
419cbb3aa9
1 zmienionych plików z 1 dodań i 1 usunięć
  1. 1 1
      src/lj_str.c

+ 1 - 1
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);