mirror of
https://github.com/nim-lang/Nim.git
synced 2026-02-26 12:55:06 +00:00
Fix cmpStrings in js mode (#7604)
This commit is contained in:
@@ -417,11 +417,11 @@ proc cmpStrings(a, b: string): int {.asmNoStackFrame, compilerProc.} =
|
||||
if (`a` == `b`) return 0;
|
||||
if (!`a`) return -1;
|
||||
if (!`b`) return 1;
|
||||
for (var i = 0; i < `a`.length-1; ++i) {
|
||||
for (var i = 0; i < `a`.length - 1 && i < `b`.length - 1; i++) {
|
||||
var result = `a`[i] - `b`[i];
|
||||
if (result != 0) return result;
|
||||
}
|
||||
return 0;
|
||||
return `a`.length - `b`.length;
|
||||
"""
|
||||
|
||||
proc cmp(x, y: string): int =
|
||||
|
||||
@@ -76,3 +76,12 @@ block: # String case of
|
||||
case s
|
||||
of "Привет!": discard
|
||||
else: doAssert(false)
|
||||
|
||||
block: # String cmp
|
||||
var a, b: string
|
||||
doAssert(cmp(a, b) == 0)
|
||||
doAssert(cmp("foo", "foo") == 0)
|
||||
doAssert(cmp("foobar", "foo") == 3)
|
||||
doAssert(cmp("foo", "foobar") == -3)
|
||||
doAssert(cmp("fooz", "foog") == 19)
|
||||
doAssert(cmp("foog", "fooz") == -19)
|
||||
|
||||
Reference in New Issue
Block a user