Fix renaming directory symlinks on Linux.

This commit is contained in:
bruvzg 2024-09-06 08:50:18 +03:00
parent 835808ed8f
commit 3e936e795c
No known key found for this signature in database
GPG Key ID: 7960FCF39844EC38
1 changed files with 6 additions and 0 deletions

View File

@ -397,12 +397,18 @@ Error DirAccessUnix::rename(String p_path, String p_new_path) {
} }
p_path = fix_path(p_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()) { if (p_new_path.is_relative_path()) {
p_new_path = get_current_dir().path_join(p_new_path); p_new_path = get_current_dir().path_join(p_new_path);
} }
p_new_path = fix_path(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; return ::rename(p_path.utf8().get_data(), p_new_path.utf8().get_data()) == 0 ? OK : FAILED;
} }