Explorar o código

NaturalSort: strings start with . treated differently

Poommetee Ketson %!s(int64=8) %!d(string=hai) anos
pai
achega
ff03d846eb
Modificáronse 1 ficheiros con 12 adicións e 0 borrados
  1. 12 0
      core/ustring.cpp

+ 12 - 0
core/ustring.cpp

@@ -489,6 +489,18 @@ signed char String::naturalnocasecmp_to(const String &p_str) const {
 	const CharType *that_str = p_str.c_str();
 
 	if (this_str && that_str) {
+
+		while (*this_str == '.' || *that_str == '.') {
+			if (*this_str++ != '.')
+				return 1;
+			if (*that_str++ != '.')
+				return -1;
+			if (!*that_str)
+				return 1;
+			if (!*this_str)
+				return -1;
+		}
+
 		while (*this_str) {
 
 			if (!*that_str)