Skip to content

Commit

Permalink
OpenOptionsExt on Windows: i32 -> u32
Browse files Browse the repository at this point in the history
Since all those flags are u32 anyway, avoid unnecessary conversions
[breaking change]

Signed-off-by: Peter Atashian <retep998@gmail.com>
  • Loading branch information
retep998 committed Jun 8, 2015
1 parent 61c43b4 commit b0d535b
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 17 deletions.
16 changes: 8 additions & 8 deletions src/libstd/sys/windows/ext/fs.rs
Expand Up @@ -25,41 +25,41 @@ use sys_common::{AsInnerMut, AsInner};
pub trait OpenOptionsExt {
/// Overrides the `dwDesiredAccess` argument to the call to `CreateFile`
/// with the specified value.
fn desired_access(&mut self, access: i32) -> &mut Self;
fn desired_access(&mut self, access: u32) -> &mut Self;

/// Overrides the `dwCreationDisposition` argument to the call to
/// `CreateFile` with the specified value.
///
/// This will override any values of the standard `create` flags, for
/// example.
fn creation_disposition(&mut self, val: i32) -> &mut Self;
fn creation_disposition(&mut self, val: u32) -> &mut Self;

/// Overrides the `dwFlagsAndAttributes` argument to the call to
/// `CreateFile` with the specified value.
///
/// This will override any values of the standard flags on the
/// `OpenOptions` structure.
fn flags_and_attributes(&mut self, val: i32) -> &mut Self;
fn flags_and_attributes(&mut self, val: u32) -> &mut Self;

/// Overrides the `dwShareMode` argument to the call to `CreateFile` with
/// the specified value.
///
/// This will override any values of the standard flags on the
/// `OpenOptions` structure.
fn share_mode(&mut self, val: i32) -> &mut Self;
fn share_mode(&mut self, val: u32) -> &mut Self;
}

impl OpenOptionsExt for OpenOptions {
fn desired_access(&mut self, access: i32) -> &mut OpenOptions {
fn desired_access(&mut self, access: u32) -> &mut OpenOptions {
self.as_inner_mut().desired_access(access); self
}
fn creation_disposition(&mut self, access: i32) -> &mut OpenOptions {
fn creation_disposition(&mut self, access: u32) -> &mut OpenOptions {
self.as_inner_mut().creation_disposition(access); self
}
fn flags_and_attributes(&mut self, access: i32) -> &mut OpenOptions {
fn flags_and_attributes(&mut self, access: u32) -> &mut OpenOptions {
self.as_inner_mut().flags_and_attributes(access); self
}
fn share_mode(&mut self, access: i32) -> &mut OpenOptions {
fn share_mode(&mut self, access: u32) -> &mut OpenOptions {
self.as_inner_mut().share_mode(access); self
}
}
Expand Down
18 changes: 9 additions & 9 deletions src/libstd/sys/windows/fs.rs
Expand Up @@ -158,17 +158,17 @@ impl OpenOptions {
pub fn append(&mut self, append: bool) { self.append = append; }
pub fn create(&mut self, create: bool) { self.create = create; }
pub fn truncate(&mut self, truncate: bool) { self.truncate = truncate; }
pub fn creation_disposition(&mut self, val: i32) {
self.creation_disposition = Some(val as libc::DWORD);
pub fn creation_disposition(&mut self, val: u32) {
self.creation_disposition = Some(val);
}
pub fn flags_and_attributes(&mut self, val: i32) {
self.flags_and_attributes = Some(val as libc::DWORD);
pub fn flags_and_attributes(&mut self, val: u32) {
self.flags_and_attributes = Some(val);
}
pub fn desired_access(&mut self, val: i32) {
self.desired_access = Some(val as libc::DWORD);
pub fn desired_access(&mut self, val: u32) {
self.desired_access = Some(val);
}
pub fn share_mode(&mut self, val: i32) {
self.share_mode = Some(val as libc::DWORD);
pub fn share_mode(&mut self, val: u32) {
self.share_mode = Some(val);
}
pub fn security_attributes(&mut self, attrs: libc::LPSECURITY_ATTRIBUTES) {
self.security_attributes = attrs as usize;
Expand Down Expand Up @@ -221,7 +221,7 @@ impl File {
fn open_reparse_point(path: &Path) -> io::Result<File> {
let mut opts = OpenOptions::new();
opts.read(true);
opts.flags_and_attributes(c::FILE_FLAG_OPEN_REPARSE_POINT as i32);
opts.flags_and_attributes(c::FILE_FLAG_OPEN_REPARSE_POINT);
File::open(path, &opts)
}

Expand Down

0 comments on commit b0d535b

Please sign in to comment.