diff options
| author | Vadim Chugunov <vadimcn@gmail.com> | 2014-03-19 00:42:02 -0700 |
|---|---|---|
| committer | Vadim Chugunov <vadimcn@gmail.com> | 2014-04-22 18:08:06 -0700 |
| commit | f686e5ebff1a8a30c496ffe38c9cd0fcde6307ce (patch) | |
| tree | cd86e55f1f14e6da75efcaeced791c91804fa386 /src/libstd/rt/util.rs | |
| parent | 6619134d49dc87d61274006be4c0d268658e1c2a (diff) | |
| download | rust-f686e5ebff1a8a30c496ffe38c9cd0fcde6307ce.tar.gz rust-f686e5ebff1a8a30c496ffe38c9cd0fcde6307ce.zip | |
Fixed Win64 build
Diffstat (limited to 'src/libstd/rt/util.rs')
| -rw-r--r-- | src/libstd/rt/util.rs | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/src/libstd/rt/util.rs b/src/libstd/rt/util.rs index 4c208a64ddf..84284ca1faf 100644 --- a/src/libstd/rt/util.rs +++ b/src/libstd/rt/util.rs @@ -71,14 +71,22 @@ pub fn default_sched_threads() -> uint { } } -pub struct Stderr; +pub struct Stdio(libc::c_int); -impl io::Writer for Stderr { +pub static Stdout: Stdio = Stdio(libc::STDOUT_FILENO); +pub static Stderr: Stdio = Stdio(libc::STDERR_FILENO); + +impl io::Writer for Stdio { fn write(&mut self, data: &[u8]) -> IoResult<()> { + #[cfg(unix)] + type WriteLen = libc::size_t; + #[cfg(windows)] + type WriteLen = libc::c_uint; unsafe { - libc::write(libc::STDERR_FILENO, + let Stdio(fd) = *self; + libc::write(fd, data.as_ptr() as *libc::c_void, - data.len() as libc::size_t); + data.len() as WriteLen); } Ok(()) // yes, we're lying } |
