1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-04 12:00:25 +00:00

Add FileAccess::set_unix_permissions for Unix platforms

This commit is contained in:
Juan Linietsky
2019-04-07 15:46:52 -03:00
parent 65f3a953de
commit cd4449e7ab
23 changed files with 140 additions and 12 deletions

View File

@@ -293,8 +293,25 @@ uint64_t FileAccessUnix::_get_modified_time(const String &p_file) {
};
}
Error FileAccessUnix::_chmod(const String &p_path, int p_mod) {
int err = chmod(p_path.utf8().get_data(), p_mod);
uint32_t FileAccessUnix::_get_unix_permissions(const String &p_file) {
String file = fix_path(p_file);
struct stat flags;
int err = stat(file.utf8().get_data(), &flags);
if (!err) {
return flags.st_mode & 0x7FF; //only permissions
} else {
ERR_EXPLAIN("Failed to get unix permissions for: " + p_file);
ERR_FAIL_V(0);
};
}
Error FileAccessUnix::_set_unix_permissions(const String &p_file, uint32_t p_permissions) {
String file = fix_path(p_file);
int err = chmod(file.utf8().get_data(), p_permissions);
if (!err) {
return OK;
}