diff options
Diffstat (limited to 'src/libstd/net_ip.rs')
| -rw-r--r-- | src/libstd/net_ip.rs | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/libstd/net_ip.rs b/src/libstd/net_ip.rs index aa1903e4a21..bf1b9dc0cda 100644 --- a/src/libstd/net_ip.rs +++ b/src/libstd/net_ip.rs @@ -110,18 +110,18 @@ enum IpGetAddrErr { * object in the case of failure */ pub fn get_addr(node: &str, iotask: &iotask) - -> result::Result<~[IpAddr], IpGetAddrErr> { + -> result::Result<~[IpAddr], IpGetAddrErr> { let (output_po, output_ch) = stream(); let mut output_ch = Some(SharedChan::new(output_ch)); do str::as_buf(node) |node_ptr, len| { let output_ch = output_ch.swap_unwrap(); debug!("slice len %?", len); let handle = create_uv_getaddrinfo_t(); - let handle_ptr = ptr::addr_of(&handle); + let handle_ptr: *uv_getaddrinfo_t = &handle; let handle_data = GetAddrData { output_ch: output_ch.clone() }; - let handle_data_ptr = ptr::addr_of(&handle_data); + let handle_data_ptr: *GetAddrData = &handle_data; do interact(iotask) |loop_ptr| { unsafe { let result = uv_getaddrinfo( @@ -189,7 +189,8 @@ pub mod v4 { impl AsUnsafeU32 for Ipv4Rep { // this is pretty dastardly, i know unsafe fn as_u32(&self) -> u32 { - *((ptr::addr_of(self)) as *u32) + let this: &mut u32 = transmute(self); + *this } } pub fn parse_to_ipv4_rep(ip: &str) -> result::Result<Ipv4Rep, ~str> { @@ -297,7 +298,8 @@ struct GetAddrData { output_ch: SharedChan<result::Result<~[IpAddr],IpGetAddrErr>> } -extern fn get_addr_cb(handle: *uv_getaddrinfo_t, status: libc::c_int, +extern fn get_addr_cb(handle: *uv_getaddrinfo_t, + status: libc::c_int, res: *addrinfo) { unsafe { debug!("in get_addr_cb"); |
