summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2024-09-06 22:38:58 +0200
committerRémi Verschelde <rverschelde@gmail.com>2024-09-06 22:38:58 +0200
commita87ceed163706397516c2a5460ce03a3747e363c (patch)
tree28910c9e90921e252160d1ae1faa582c81452b82
parent1723fd98d62f68409e399141715e2dbfb745ab9c (diff)
parent3e936e795c8307ec741f15b6373b7d3f4c8ab812 (diff)
downloadredot-engine-a87ceed163706397516c2a5460ce03a3747e363c.tar.gz
Merge pull request #96639 from bruvzg/symlink_ren
Fix renaming directory symlinks on Linux.
-rw-r--r--drivers/unix/dir_access_unix.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/unix/dir_access_unix.cpp b/drivers/unix/dir_access_unix.cpp
index a4208829b7..489181a025 100644
--- a/drivers/unix/dir_access_unix.cpp
+++ b/drivers/unix/dir_access_unix.cpp
@@ -397,12 +397,18 @@ Error DirAccessUnix::rename(String p_path, String p_new_path) {
}
p_path = fix_path(p_path);
+ if (p_path.ends_with("/")) {
+ p_path = p_path.left(-1);
+ }
if (p_new_path.is_relative_path()) {
p_new_path = get_current_dir().path_join(p_new_path);
}
p_new_path = fix_path(p_new_path);
+ if (p_new_path.ends_with("/")) {
+ p_new_path = p_new_path.left(-1);
+ }
return ::rename(p_path.utf8().get_data(), p_new_path.utf8().get_data()) == 0 ? OK : FAILED;
}