diff options
author | Nat Goodspeed <nat@lindenlab.com> | 2019-09-24 14:35:26 -0400 |
---|---|---|
committer | Nat Goodspeed <nat@lindenlab.com> | 2019-09-24 14:35:26 -0400 |
commit | 77621dd3fc99f4fb1285a929e0b56b019f6b65c2 (patch) | |
tree | 4de95909b29874f492206b090b2e233b8acb596c /indra/llcommon/llstring.h | |
parent | 8053bceaa0ccd6128536375c21cc3e9e19429efa (diff) | |
parent | e241670694959833feaa0e667222b337095eb683 (diff) |
Automated merge with ssh://bitbucket.org/lindenlab/viewer-vs2017
Diffstat (limited to 'indra/llcommon/llstring.h')
-rw-r--r-- | indra/llcommon/llstring.h | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/indra/llcommon/llstring.h b/indra/llcommon/llstring.h index 30bec3a6f8..b619a9e48c 100644 --- a/indra/llcommon/llstring.h +++ b/indra/llcommon/llstring.h @@ -1735,7 +1735,8 @@ bool LLStringUtilBase<T>::startsWith( const string_type& substr) { if(string.empty() || (substr.empty())) return false; - if(0 == string.find(substr)) return true; + if (substr.length() > string.length()) return false; + if (0 == string.compare(0, substr.length(), substr)) return true; return false; } @@ -1746,9 +1747,11 @@ bool LLStringUtilBase<T>::endsWith( const string_type& substr) { if(string.empty() || (substr.empty())) return false; - std::string::size_type idx = string.rfind(substr); - if(std::string::npos == idx) return false; - return (idx == (string.size() - substr.size())); + size_t sub_len = substr.length(); + size_t str_len = string.length(); + if (sub_len > str_len) return false; + if (0 == string.compare(str_len - sub_len, sub_len, substr)) return true; + return false; } // static |