diff options
Diffstat (limited to 'src/libstd/sys')
| -rw-r--r-- | src/libstd/sys/redox/ext/fs.rs | 2 | ||||
| -rw-r--r-- | src/libstd/sys/redox/fs.rs | 9 |
2 files changed, 7 insertions, 4 deletions
diff --git a/src/libstd/sys/redox/ext/fs.rs b/src/libstd/sys/redox/ext/fs.rs index 45ad7c092de..2914fafa94c 100644 --- a/src/libstd/sys/redox/ext/fs.rs +++ b/src/libstd/sys/redox/ext/fs.rs @@ -216,7 +216,7 @@ impl MetadataExt for fs::Metadata { } } -/* +/* TODO /// Add special unix types (block/char device, fifo and socket) #[stable(feature = "file_type_ext", since = "1.5.0")] pub trait FileTypeExt { diff --git a/src/libstd/sys/redox/fs.rs b/src/libstd/sys/redox/fs.rs index 1a96ac2f2ea..df2926565f7 100644 --- a/src/libstd/sys/redox/fs.rs +++ b/src/libstd/sys/redox/fs.rs @@ -386,9 +386,12 @@ pub fn rename(_old: &Path, _new: &Path) -> io::Result<()> { unimplemented!(); } -pub fn set_perm(_p: &Path, _perm: FilePermissions) -> io::Result<()> { - ::sys_common::util::dumb_print(format_args!("Set perm\n")); - unimplemented!(); +pub fn set_perm(p: &Path, perm: FilePermissions) -> io::Result<()> { + let mut options = OpenOptions::new(); + options.read(true); + let file = File::open(p, &options)?; + cvt(libc::fcntl(file.0.raw(), libc::F_SETMODE, perm.mode as usize))?; + Ok(()) } pub fn rmdir(p: &Path) -> io::Result<()> { |
