about summary refs log tree commit diff
path: root/src/libstd/sys/windows
diff options
context:
space:
mode:
authorPeter Atashian <retep998@gmail.com>2015-09-29 14:21:39 -0400
committerPeter Atashian <retep998@gmail.com>2015-09-29 14:21:39 -0400
commit6b9b2ee8781ddb3dea00ba156bd3b5b0638c6f43 (patch)
tree313abc80995a345202c248d8db9b550a7bf3fd78 /src/libstd/sys/windows
parentedeb4f1c86cbf6af8ef9874d4b3af50f721ea1b8 (diff)
downloadrust-6b9b2ee8781ddb3dea00ba156bd3b5b0638c6f43.tar.gz
rust-6b9b2ee8781ddb3dea00ba156bd3b5b0638c6f43.zip
Make fs::canonicalize work on directories on Windows
Signed-off-by: Peter Atashian <retep998@gmail.com>
Diffstat (limited to 'src/libstd/sys/windows')
-rw-r--r--src/libstd/sys/windows/fs.rs2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/libstd/sys/windows/fs.rs b/src/libstd/sys/windows/fs.rs
index e9d98b36a43..721e259823a 100644
--- a/src/libstd/sys/windows/fs.rs
+++ b/src/libstd/sys/windows/fs.rs
@@ -583,6 +583,8 @@ fn get_path(f: &File) -> io::Result<PathBuf> {
 pub fn canonicalize(p: &Path) -> io::Result<PathBuf> {
     let mut opts = OpenOptions::new();
     opts.read(true);
+    // This flag is so we can open directories too
+    opts.flags_and_attributes(c::FILE_FLAG_BACKUP_SEMANTICS);
     let f = try!(File::open(p, &opts));
     get_path(&f)
 }