Skip to content

Commit

Permalink
prefer ptr::from_ref
Browse files Browse the repository at this point in the history
  • Loading branch information
dimbleby committed May 26, 2024
1 parent f7c9d8e commit fc7de4b
Show file tree
Hide file tree
Showing 4 changed files with 12 additions and 16 deletions.
2 changes: 1 addition & 1 deletion src/a.rs
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ impl AResults {
data.len() as c_int,
ptr::null_mut(),
results.addrttls.as_mut_ptr(),
(&mut results.naddrttls as *mut usize).cast(),
ptr::from_mut(&mut results.naddrttls).cast(),
)
};
if parse_status == c_ares_sys::ares_status_t::ARES_SUCCESS as i32 {
Expand Down
2 changes: 1 addition & 1 deletion src/aaaa.rs
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ impl AAAAResults {
data.len() as c_int,
ptr::null_mut(),
results.addr6ttls.as_mut_ptr(),
(&mut results.naddr6ttls as *mut usize).cast(),
ptr::from_mut(&mut results.naddr6ttls).cast(),
)
};
if parse_status == c_ares_sys::ares_status_t::ARES_SUCCESS as i32 {
Expand Down
17 changes: 7 additions & 10 deletions src/channel.rs
Original file line number Diff line number Diff line change
Expand Up @@ -205,7 +205,7 @@ impl Options {
{
let boxed_callback = Arc::new(callback);
self.ares_options.sock_state_cb = Some(socket_state_callback::<F>);
self.ares_options.sock_state_cb_data = (&*boxed_callback as *const F).cast_mut().cast();
self.ares_options.sock_state_cb_data = ptr::from_ref(&*boxed_callback).cast_mut().cast();
self.socket_state_callback = Some(boxed_callback);
self.optmask |= c_ares_sys::ARES_OPT_SOCK_STATE_CB;
self
Expand Down Expand Up @@ -498,10 +498,7 @@ impl Channel {
pub fn set_local_ipv6(&mut self, ipv6: &Ipv6Addr) -> &mut Self {
let in6_addr = ipv6_as_in6_addr(ipv6);
unsafe {
c_ares_sys::ares_set_local_ip6(
self.ares_channel,
(&in6_addr as *const c_types::in6_addr).cast(),
)
c_ares_sys::ares_set_local_ip6(self.ares_channel, ptr::from_ref(&in6_addr).cast())
}
self
}
Expand Down Expand Up @@ -544,7 +541,7 @@ impl Channel {
F: FnMut(&str, bool, ServerStateFlags) + Send + 'static,
{
let boxed_callback = Arc::new(callback);
let data = (&*boxed_callback as *const F).cast_mut().cast();
let data = ptr::from_ref(&*boxed_callback).cast_mut().cast();
unsafe {
c_ares_sys::ares_set_server_state_callback(
self.ares_channel,
Expand Down Expand Up @@ -987,11 +984,11 @@ impl Channel {
let c_addr = match *address {
IpAddr::V4(v4) => {
in_addr = ipv4_as_in_addr(v4);
(&in_addr as *const c_types::in_addr).cast()
ptr::from_ref(&in_addr).cast()
}
IpAddr::V6(ref v6) => {
in6_addr = ipv6_as_in6_addr(v6);
(&in6_addr as *const c_types::in6_addr).cast()
ptr::from_ref(&in6_addr).cast()
}
};
let (family, length) = match *address {
Expand Down Expand Up @@ -1047,11 +1044,11 @@ impl Channel {
let c_addr = match *address {
SocketAddr::V4(ref v4) => {
sockaddr_in = socket_addrv4_as_sockaddr_in(v4);
(&sockaddr_in as *const c_types::sockaddr_in).cast()
ptr::from_ref(&sockaddr_in).cast()
}
SocketAddr::V6(ref v6) => {
sockaddr_in6 = socket_addrv6_as_sockaddr_in6(v6);
(&sockaddr_in6 as *const c_types::sockaddr_in6).cast()
ptr::from_ref(&sockaddr_in6).cast()
}
};
let length = match *address {
Expand Down
7 changes: 3 additions & 4 deletions src/hostent.rs
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
use std::ffi::CStr;
use std::fmt;
use std::marker::PhantomData;
use std::net::{IpAddr, Ipv4Addr, Ipv6Addr};
use std::os::raw::c_char;
use std::slice;
use std::{fmt, ptr, slice};

use itertools::Itertools;

Expand Down Expand Up @@ -161,7 +160,7 @@ impl<'a> Iterator for HostAddressResultsIter<'a> {
None
} else {
unsafe {
self.next = &*(self.next as *const *const c_char).offset(1);
self.next = &*ptr::from_ref(self.next).offset(1);
self.family
.and_then(|family| ip_address_from_bytes(family, h_addr.cast()))
}
Expand Down Expand Up @@ -190,7 +189,7 @@ impl<'a> Iterator for HostAliasResultsIter<'a> {
None
} else {
unsafe {
self.next = &*(self.next as *const *const c_char).offset(1);
self.next = &*ptr::from_ref(self.next).offset(1);
let c_str = CStr::from_ptr(h_alias);
Some(c_str)
}
Expand Down

0 comments on commit fc7de4b

Please sign in to comment.