aboutsummaryrefslogtreecommitdiffstats
path: root/libdevcore/StringUtils.h
diff options
context:
space:
mode:
authorbakaoh <tatattai@gmail.com>2018-08-10 18:31:19 +0800
committerchriseth <chris@ethereum.org>2018-08-15 16:23:08 +0800
commit3fa8829845bf55df812f81356a3ec43149836bb5 (patch)
tree16bb5707241fffa03f93513fffcaada49c083274 /libdevcore/StringUtils.h
parentf82893450d36d1e2d136b0cbd4449ff955410fb5 (diff)
downloaddexon-solidity-3fa8829845bf55df812f81356a3ec43149836bb5.tar
dexon-solidity-3fa8829845bf55df812f81356a3ec43149836bb5.tar.gz
dexon-solidity-3fa8829845bf55df812f81356a3ec43149836bb5.tar.bz2
dexon-solidity-3fa8829845bf55df812f81356a3ec43149836bb5.tar.lz
dexon-solidity-3fa8829845bf55df812f81356a3ec43149836bb5.tar.xz
dexon-solidity-3fa8829845bf55df812f81356a3ec43149836bb5.tar.zst
dexon-solidity-3fa8829845bf55df812f81356a3ec43149836bb5.zip
Fixes #4718: High CPU usage when using large variable names
Diffstat (limited to 'libdevcore/StringUtils.h')
-rw-r--r--libdevcore/StringUtils.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/libdevcore/StringUtils.h b/libdevcore/StringUtils.h
index f05a426b..b02b9d12 100644
--- a/libdevcore/StringUtils.h
+++ b/libdevcore/StringUtils.h
@@ -30,7 +30,8 @@ namespace dev
{
// Calculates the Damerau–Levenshtein distance between _str1 and _str2 and returns true if that distance is not greater than _maxDistance
-bool stringWithinDistance(std::string const& _str1, std::string const& _str2, size_t _maxDistance);
+// if _lenThreshold > 0 and the product of the strings length is greater than _lenThreshold, the function will return false
+bool stringWithinDistance(std::string const& _str1, std::string const& _str2, size_t _maxDistance, size_t _lenThreshold = 0);
// Calculates the Damerau–Levenshtein distance between _str1 and _str2
size_t stringDistance(std::string const& _str1, std::string const& _str2);
// Return a string having elements of suggestions as quoted, alternative suggestions. e.g. "a", "b" or "c"