You've already forked godot
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:
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user