Fix usage of GetUserProfileDirectoryW in env::home_dir

Signed-off-by: Peter Atashian <retep998@gmail.com>
This commit is contained in:
Peter Atashian 2016-02-11 13:12:56 -05:00
parent 096dbf84c7
commit dc97023e31

View File

@ -338,9 +338,9 @@ pub fn home_dir() -> Option<PathBuf> {
let _handle = Handle::new(token);
super::fill_utf16_buf(|buf, mut sz| {
match c::GetUserProfileDirectoryW(token, buf, &mut sz) {
0 if c::GetLastError() != 0 => 0,
0 if c::GetLastError() != c::ERROR_INSUFFICIENT_BUFFER => 0,
0 => sz,
n => n as c::DWORD,
_ => sz - 1, // sz includes the null terminator
}
}, super::os2path).ok()
})