diff options
| author | Patrick Walton <pcwalton@mimiga.net> | 2013-12-04 15:20:26 -0800 |
|---|---|---|
| committer | Patrick Walton <pcwalton@mimiga.net> | 2013-12-10 15:13:12 -0800 |
| commit | ec5603bf13ccb95c311fe5ca193a32efe07147a2 (patch) | |
| tree | 6cf2f33e901d673ba63fa781ddb5167beaae42f8 /src/librustpkg | |
| parent | ab3bec91d77150e434ac1480fbb3935213e33dca (diff) | |
| download | rust-ec5603bf13ccb95c311fe5ca193a32efe07147a2.tar.gz rust-ec5603bf13ccb95c311fe5ca193a32efe07147a2.zip | |
librustpkg: Make `io::ignore_io_error()` use RAII; remove a few more
cells.
Diffstat (limited to 'src/librustpkg')
| -rw-r--r-- | src/librustpkg/installed_packages.rs | 15 | ||||
| -rw-r--r-- | src/librustpkg/path_util.rs | 5 |
2 files changed, 16 insertions, 4 deletions
diff --git a/src/librustpkg/installed_packages.rs b/src/librustpkg/installed_packages.rs index b1e3d1bd879..48c25a53682 100644 --- a/src/librustpkg/installed_packages.rs +++ b/src/librustpkg/installed_packages.rs @@ -19,7 +19,10 @@ use std::io::fs; pub fn list_installed_packages(f: |&PkgId| -> bool) -> bool { let workspaces = rust_path(); for p in workspaces.iter() { - let binfiles = io::ignore_io_error(|| fs::readdir(&p.join("bin"))); + let binfiles = { + let _guard = io::ignore_io_error(); + fs::readdir(&p.join("bin")) + }; for exec in binfiles.iter() { // FIXME (#9639): This needs to handle non-utf8 paths match exec.filestem_str() { @@ -31,7 +34,10 @@ pub fn list_installed_packages(f: |&PkgId| -> bool) -> bool { } } } - let libfiles = io::ignore_io_error(|| fs::readdir(&p.join("lib"))); + let libfiles = { + let _guard = io::ignore_io_error(); + fs::readdir(&p.join("lib")) + }; for lib in libfiles.iter() { debug!("Full name: {}", lib.display()); match has_library(lib) { @@ -55,7 +61,10 @@ pub fn list_installed_packages(f: |&PkgId| -> bool) -> bool { } pub fn has_library(p: &Path) -> Option<~str> { - let files = io::ignore_io_error(|| fs::readdir(p)); + let files = { + let _guard = io::ignore_io_error(); + fs::readdir(p) + }; for path in files.iter() { if path.extension_str() == Some(os::consts::DLL_EXTENSION) { let stuff : &str = path.filestem_str().expect("has_library: weird path"); diff --git a/src/librustpkg/path_util.rs b/src/librustpkg/path_util.rs index 4b5e1ce8727..7a17d362625 100644 --- a/src/librustpkg/path_util.rs +++ b/src/librustpkg/path_util.rs @@ -217,7 +217,10 @@ pub fn system_library(sysroot: &Path, lib_name: &str) -> Option<Path> { fn library_in(short_name: &str, version: &Version, dir_to_search: &Path) -> Option<Path> { debug!("Listing directory {}", dir_to_search.display()); - let dir_contents = io::ignore_io_error(|| fs::readdir(dir_to_search)); + let dir_contents = { + let _guard = io::ignore_io_error(); + fs::readdir(dir_to_search) + }; debug!("dir has {:?} entries", dir_contents.len()); let lib_prefix = format!("{}{}", os::consts::DLL_PREFIX, short_name); |
