diff options
| author | Jeremy Soller <jackpot51@gmail.com> | 2016-11-15 16:12:30 -0700 |
|---|---|---|
| committer | Jeremy Soller <jackpot51@gmail.com> | 2016-11-15 16:12:30 -0700 |
| commit | 2e5c821619c7b62ec46c8a4f90ead4e59fb6c36e (patch) | |
| tree | 66d9549bae99eba6fe1277167c97a53937f4fcfd /src/libstd | |
| parent | 73f24d47dee367563019b18ac5089b91eded2753 (diff) | |
| download | rust-2e5c821619c7b62ec46c8a4f90ead4e59fb6c36e.tar.gz rust-2e5c821619c7b62ec46c8a4f90ead4e59fb6c36e.zip | |
Add set_perm
Diffstat (limited to 'src/libstd')
| -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<()> { |
