(ret: I)
| 38 | |
| 39 | #[inline] |
| 40 | fn cvt<I: num_traits::PrimInt>(ret: I) -> io::Result<I> { |
| 41 | if ret < I::zero() { |
| 42 | // CRT functions set errno, not GetLastError(), so use errno_io_error |
| 43 | Err(crate::os::errno_io_error()) |
| 44 | } else { |
| 45 | Ok(ret) |
| 46 | } |
| 47 | } |
| 48 | |
| 49 | fn cvt_fd(ret: Raw) -> io::Result<Owned> { |
| 50 | cvt(ret).map(|fd| unsafe { Owned::from_raw(fd) }) |