From 594e53c6f1187f529516a00ae8ef05dbae06cb6a Mon Sep 17 00:00:00 2001 From: Jeremy Soller <jeremy@system76.com> Date: Sun, 13 Jan 2019 14:37:20 -0700 Subject: [PATCH] addrinfo stub --- src/header/netdb/mod.rs | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/src/header/netdb/mod.rs b/src/header/netdb/mod.rs index be7145eb7..53cb5b37e 100644 --- a/src/header/netdb/mod.rs +++ b/src/header/netdb/mod.rs @@ -992,13 +992,33 @@ pub unsafe extern "C" fn setservent(stayopen: c_int) { } } +#[no_mangle] pub unsafe extern "C" fn getaddrinfo( node: *const c_char, service: *const c_char, hints: *const addrinfo, res: *mut *mut addrinfo, ) -> c_int { - unimplemented!(); + //TODO: getaddrinfo + let node_c = if node.is_null() { + None + } else { + Some(CStr::from_ptr(node)) + }; + let service_c = if service.is_null() { + None + } else { + Some(CStr::from_ptr(service)) + }; + + eprintln!( + "getaddrinfo({:?}, {:?})", + node_c.map(|c| str::from_utf8_unchecked(c.to_bytes())), + service_c.map(|c| str::from_utf8_unchecked(c.to_bytes())) + ); + + platform::errno = ENOSYS; + EAI_SYSTEM } pub unsafe extern "C" fn getnameinfo( @@ -1013,8 +1033,9 @@ pub unsafe extern "C" fn getnameinfo( unimplemented!(); } +#[no_mangle] pub extern "C" fn freeaddrinfo(res: *mut addrinfo) { - unimplemented!(); + } #[no_mangle] -- GitLab