Fix logic in String::substr_index.

This commit is contained in:
Relintai 2023-12-22 15:35:35 +01:00
parent a781853b2b
commit 4d6b2f6f55

View File

@ -926,7 +926,7 @@ String String::substr(int p_from, int p_chars) const {
String String::substr_index(const int start_index, const int end_index) const {
int s = length();
if (start_index < 0 || start_index >= s || end_index < 0 || start_index >= s) {
if (start_index < 0 || start_index >= s || end_index < 0) {
return "";
}
@ -934,6 +934,10 @@ String String::substr_index(const int start_index, const int end_index) const {
return "";
}
if (end_index >= s) {
return substr(start_index, (s - 1) - start_index);
}
return substr(start_index, end_index - start_index);
}