diff options
author | Andreas Rumpf <rumpf_a@web.de> | 2015-11-20 10:29:50 +0100 |
---|---|---|
committer | Andreas Rumpf <rumpf_a@web.de> | 2015-11-20 10:29:50 +0100 |
commit | 3c5a0b1b1a16f386e96370f634f28f9fb7b9f062 (patch) | |
tree | 90dc651a93d5fea7495ddd54224d122fec95d1a9 | |
parent | ba6d0eb4db5bb85c772dea3d4c5afb2bfbb5a6d5 (diff) | |
parent | a1df79d5f2f5df1f6c81e28a91f3750f791d3fbd (diff) | |
download | Nim-3c5a0b1b1a16f386e96370f634f28f9fb7b9f062.tar.gz |
Merge pull request #3563 from c-blake/devel
Fix loop index bug in scan for a[s] in b[s..s+len2-1].
-rw-r--r-- | lib/pure/strutils.nim | 2 | ||||
-rw-r--r-- | tests/stdlib/tstrutil.nim | 1 |
2 files changed, 2 insertions, 1 deletions
diff --git a/lib/pure/strutils.nim b/lib/pure/strutils.nim index b61df6086..6c561eaf9 100644 --- a/lib/pure/strutils.nim +++ b/lib/pure/strutils.nim @@ -1281,7 +1281,7 @@ proc editDistance*(a, b: string): int {.noSideEffect, # another special case: if len1 == 1: - for j in s..len2-1: + for j in s..s+len2-1: if a[s] == b[j]: return len2 - 1 return len2 diff --git a/tests/stdlib/tstrutil.nim b/tests/stdlib/tstrutil.nim index b15bf0e68..b97f2b1e9 100644 --- a/tests/stdlib/tstrutil.nim +++ b/tests/stdlib/tstrutil.nim @@ -78,6 +78,7 @@ assert(editDistance("prefix__hallo_suffix", "prefix__ha_suffix") == 3) assert(editDistance("prefix__hallo_suffix", "prefix") == 14) assert(editDistance("prefix__hallo_suffix", "suffix") == 14) assert(editDistance("prefix__hallo_suffix", "prefix__hao_suffix") == 2) +assert(editDistance("main", "malign") == 2) assert "/1/2/3".rfind('/') == 4 assert "/1/2/3".rfind('/', 1) == 0 |