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