about summary refs log tree commit diff
path: root/src/libstd/sys/windows
diff options
context:
space:
mode:
authorPeter Atashian <retep998@gmail.com>2015-10-19 00:54:51 -0400
committerPeter Atashian <retep998@gmail.com>2015-10-19 00:54:51 -0400
commitdd11d3c6191a43e5ab86f57f3e6b087115d8f420 (patch)
treee99e953bf8607d09f0b4cfd2b7a2c3e0b6029071 /src/libstd/sys/windows
parentd3f497861d426c8724dd84f161ca21f274663963 (diff)
downloadrust-dd11d3c6191a43e5ab86f57f3e6b087115d8f420.tar.gz
rust-dd11d3c6191a43e5ab86f57f3e6b087115d8f420.zip
Add error kind handling for ERROR_PATH_NOT_FOUND
Fixes #29150

Signed-off-by: Peter Atashian <retep998@gmail.com>
Diffstat (limited to 'src/libstd/sys/windows')
-rw-r--r--src/libstd/sys/windows/c.rs2
-rw-r--r--src/libstd/sys/windows/mod.rs1
2 files changed, 3 insertions, 0 deletions
diff --git a/src/libstd/sys/windows/c.rs b/src/libstd/sys/windows/c.rs
index bac5b47eb1a..a9eb4db2f53 100644
--- a/src/libstd/sys/windows/c.rs
+++ b/src/libstd/sys/windows/c.rs
@@ -83,6 +83,8 @@ pub const EXCEPTION_CONTINUE_SEARCH: LONG = 0;
 pub const EXCEPTION_MAXIMUM_PARAMETERS: usize = 15;
 pub const EXCEPTION_STACK_OVERFLOW: DWORD = 0xc00000fd;
 
+pub const ERROR_PATH_NOT_FOUND: libc::c_int = 3;
+
 #[repr(C)]
 #[cfg(target_arch = "x86")]
 pub struct WSADATA {
diff --git a/src/libstd/sys/windows/mod.rs b/src/libstd/sys/windows/mod.rs
index 85f5d4e5884..4df3c561ab1 100644
--- a/src/libstd/sys/windows/mod.rs
+++ b/src/libstd/sys/windows/mod.rs
@@ -51,6 +51,7 @@ pub fn decode_error_kind(errno: i32) -> ErrorKind {
         libc::ERROR_ALREADY_EXISTS => ErrorKind::AlreadyExists,
         libc::ERROR_BROKEN_PIPE => ErrorKind::BrokenPipe,
         libc::ERROR_FILE_NOT_FOUND => ErrorKind::NotFound,
+        c::ERROR_PATH_NOT_FOUND => ErrorKind::NotFound,
         libc::ERROR_NO_DATA => ErrorKind::BrokenPipe,
         libc::ERROR_OPERATION_ABORTED => ErrorKind::TimedOut,