Merge pull request #99777 from Ivorforce/string-strlen-repeat-calls

String: Don't repeat calls to `strlen` in `split`, and make `splitter_length` const in `get_slice`.
This commit is contained in:
Rémi Verschelde 2024-11-29 22:02:47 +01:00
commit b1d65e4ed8
No known key found for this signature in database
GPG Key ID: C3336907360768E1

View File

@ -1278,7 +1278,7 @@ String String::get_slice(const char *p_splitter, int p_slice) const {
} }
int i = 0; int i = 0;
int splitter_length = strlen(p_splitter); const int splitter_length = strlen(p_splitter);
while (true) { while (true) {
pos = find(p_splitter, pos); pos = find(p_splitter, pos);
if (pos == -1) { if (pos == -1) {
@ -1429,6 +1429,7 @@ Vector<String> String::split(const char *p_splitter, bool p_allow_empty, int p_m
int from = 0; int from = 0;
int len = length(); int len = length();
const int splitter_length = strlen(p_splitter);
while (true) { while (true) {
int end; int end;
@ -1459,7 +1460,7 @@ Vector<String> String::split(const char *p_splitter, bool p_allow_empty, int p_m
break; break;
} }
from = end + strlen(p_splitter); from = end + splitter_length;
} }
return ret; return ret;