Ver Fonte

Fix simplify_path() breaking uid://

kobewi há 2 anos atrás
pai
commit
785e5880b3
1 ficheiros alterados com 7 adições e 4 exclusões
  1. 7 4
      core/string/ustring.cpp

+ 7 - 4
core/string/ustring.cpp

@@ -3669,13 +3669,16 @@ String String::simplify_path() const {
 	String drive;
 	String drive;
 	if (s.begins_with("local://")) {
 	if (s.begins_with("local://")) {
 		drive = "local://";
 		drive = "local://";
-		s = s.substr(8, s.length());
+		s = s.substr(8);
 	} else if (s.begins_with("res://")) {
 	} else if (s.begins_with("res://")) {
 		drive = "res://";
 		drive = "res://";
-		s = s.substr(6, s.length());
+		s = s.substr(6);
 	} else if (s.begins_with("user://")) {
 	} else if (s.begins_with("user://")) {
 		drive = "user://";
 		drive = "user://";
-		s = s.substr(7, s.length());
+		s = s.substr(7);
+	} else if (s.begins_with("uid://")) {
+		drive = "uid://";
+		s = s.substr(6);
 	} else if (is_network_share_path()) {
 	} else if (is_network_share_path()) {
 		drive = s.substr(0, 2);
 		drive = s.substr(0, 2);
 		s = s.substr(2, s.length() - 2);
 		s = s.substr(2, s.length() - 2);
@@ -3689,7 +3692,7 @@ String String::simplify_path() const {
 		}
 		}
 		if (p != -1 && p < s.find("/")) {
 		if (p != -1 && p < s.find("/")) {
 			drive = s.substr(0, p + 2);
 			drive = s.substr(0, p + 2);
-			s = s.substr(p + 2, s.length());
+			s = s.substr(p + 2);
 		}
 		}
 	}
 	}