summaryrefslogtreecommitdiffstats
path: root/core/ustring.cpp
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2019-06-12 12:49:21 +0200
committerGitHub <noreply@github.com>2019-06-12 12:49:21 +0200
commit971b5160c61ccb7a009966d17d339997ea343da3 (patch)
treeff0d038213821bbf258f9fa9fd36288a7c7d9bbc /core/ustring.cpp
parentf160c81f683d8a523f23d3c4f7a76151a75fe875 (diff)
parent8245db869f05a86e88338236d22765b87cc71db8 (diff)
downloadredot-engine-971b5160c61ccb7a009966d17d339997ea343da3.tar.gz
Merge pull request #29306 from qarmin/small_code_fixes
Small fixes to unrechable code, possibly overflows, using NULL pointers
Diffstat (limited to 'core/ustring.cpp')
-rw-r--r--core/ustring.cpp22
1 files changed, 4 insertions, 18 deletions
diff --git a/core/ustring.cpp b/core/ustring.cpp
index 88b758e883..741c825448 100644
--- a/core/ustring.cpp
+++ b/core/ustring.cpp
@@ -2956,26 +2956,12 @@ String String::replace(const char *p_key, const char *p_with) const {
String String::replace_first(const String &p_key, const String &p_with) const {
- String new_string;
- int search_from = 0;
- int result = 0;
-
- while ((result = find(p_key, search_from)) >= 0) {
-
- new_string += substr(search_from, result - search_from);
- new_string += p_with;
- search_from = result + p_key.length();
- break;
+ int pos = find(p_key);
+ if (pos >= 0) {
+ return substr(0, pos) + p_with + substr(pos + p_key.length(), length());
}
- if (search_from == 0) {
-
- return *this;
- }
-
- new_string += substr(search_from, length() - search_from);
-
- return new_string;
+ return *this;
}
String String::replacen(const String &p_key, const String &p_with) const {