about summary refs log tree commit diff
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2014-02-09 21:56:26 -0800
committerbors <bors@rust-lang.org>2014-02-09 21:56:26 -0800
commit5bad63cef541d295e1fc4e4246d493f9837e0d18 (patch)
tree96d5c9685b50ab0e251fa4c12fd12da68d152e55
parent47e14456f7993be4924a41a854ebf4f212e171c2 (diff)
parent882e2c391e9dc0bedb3ffdc549862294cf174ec8 (diff)
downloadrust-5bad63cef541d295e1fc4e4246d493f9837e0d18.tar.gz
rust-5bad63cef541d295e1fc4e4246d493f9837e0d18.zip
auto merge of #12136 : alexcrichton/rust/issue-12123, r=brson
Closes #12123
-rw-r--r--src/libnative/io/file.rs2
-rw-r--r--src/libstd/libc.rs18
2 files changed, 11 insertions, 9 deletions
diff --git a/src/libnative/io/file.rs b/src/libnative/io/file.rs
index c8754c839b2..e9c9f51966c 100644
--- a/src/libnative/io/file.rs
+++ b/src/libnative/io/file.rs
@@ -746,7 +746,7 @@ pub fn symlink(src: &CString, dst: &CString) -> IoResult<()> {
         super::mkerr_winbool(as_utf16_p(src.as_str().unwrap(), |src| {
             as_utf16_p(dst.as_str().unwrap(), |dst| {
                 unsafe { libc::CreateSymbolicLinkW(dst, src, 0) }
-            })
+            }) as libc::BOOL
         }))
     }
 
diff --git a/src/libstd/libc.rs b/src/libstd/libc.rs
index 057d618f444..39383f99392 100644
--- a/src/libstd/libc.rs
+++ b/src/libstd/libc.rs
@@ -970,6 +970,7 @@ pub mod types {
 
                 pub type BOOL = c_int;
                 pub type BYTE = u8;
+                pub type BOOLEAN = BYTE;
                 pub type CCHAR = c_char;
                 pub type CHAR = c_char;
 
@@ -3984,15 +3985,16 @@ pub mod funcs {
 
         pub mod kernel32 {
             use libc::types::os::arch::c95::{c_uint};
-            use libc::types::os::arch::extra::{BOOL, DWORD, SIZE_T, HMODULE};
-            use libc::types::os::arch::extra::{LPCWSTR, LPWSTR, LPCSTR, LPSTR, LPCH,
-                                               LPDWORD, LPVOID,
-                                               LPCVOID, LPOVERLAPPED};
-            use libc::types::os::arch::extra::{LPSECURITY_ATTRIBUTES, LPSTARTUPINFO,
+            use libc::types::os::arch::extra::{BOOL, DWORD, SIZE_T, HMODULE,
+                                               LPCWSTR, LPWSTR, LPCSTR, LPSTR,
+                                               LPCH, LPDWORD, LPVOID,
+                                               LPCVOID, LPOVERLAPPED,
+                                               LPSECURITY_ATTRIBUTES,
+                                               LPSTARTUPINFO,
                                                LPPROCESS_INFORMATION,
                                                LPMEMORY_BASIC_INFORMATION,
-                                               LPSYSTEM_INFO};
-            use libc::types::os::arch::extra::{HANDLE, LPHANDLE, LARGE_INTEGER,
+                                               LPSYSTEM_INFO, BOOLEAN,
+                                               HANDLE, LPHANDLE, LARGE_INTEGER,
                                                PLARGE_INTEGER, LPFILETIME};
 
             extern "system" {
@@ -4105,7 +4107,7 @@ pub mod funcs {
                                    dwFlags: DWORD) -> BOOL;
                 pub fn CreateSymbolicLinkW(lpSymlinkFileName: LPCWSTR,
                                            lpTargetFileName: LPCWSTR,
-                                           dwFlags: DWORD) -> BOOL;
+                                           dwFlags: DWORD) -> BOOLEAN;
                 pub fn CreateHardLinkW(lpSymlinkFileName: LPCWSTR,
                                        lpTargetFileName: LPCWSTR,
                                        lpSecurityAttributes: LPSECURITY_ATTRIBUTES)