cmp(x, y: string) now uses memcmp rather than strcmp (#6869) (#6968)

This commit is contained in:
Mathias Stearn 2017-12-24 09:23:17 -05:00 • committed by Andreas Rumpf
commit 6bd3a2826f
3 changed files with 28 additions and 5 deletions

View file

@ -2916,7 +2916,10 @@ when not defined(JS): #and not defined(nimscript):
elif x > y: result = 1
else: result = 0
else:
result = int(c_strcmp(x, y))
let minlen = min(x.len, y.len)
result = int(c_memcmp(x.cstring, y.cstring, minlen.csize))
if result == 0:
result = x.len - y.len
when defined(nimscript):
proc readFile*(filename: string): string {.tags: [ReadIOEffect], benign.}