mirror of
https://github.com/RGBCube/serenity
synced 2025-05-20 18:15:07 +00:00
Implement basic chmod() syscall and /bin/chmod helper.
Only raw octal modes are supported right now. This patch also changes mode_t from 32-bit to 16-bit to match the on-disk type used by Ext2FS. I also ran into EPERM being errno=0 which was confusing, so I inserted an ESUCCESS in its place.
This commit is contained in:
parent
ad53f6afd3
commit
c30e2c8d44
22 changed files with 156 additions and 4 deletions
|
@ -2120,3 +2120,13 @@ int Process::sys$read_tsc(dword* lsw, dword* msw)
|
|||
read_tsc(*lsw, *msw);
|
||||
return 0;
|
||||
}
|
||||
|
||||
int Process::sys$chmod(const char* pathname, mode_t mode)
|
||||
{
|
||||
if (!validate_read_str(pathname))
|
||||
return -EFAULT;
|
||||
int error;
|
||||
if (!VFS::the().chmod(String(pathname), mode, *cwd_inode(), error))
|
||||
return error;
|
||||
return 0;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue