[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[tyndur-devel] [PATCH] libc: gethostbyname mit IP-Adresse



! libc: Wenn gethostbyname eine IP-Adresse statt einem DNS-Namen
  übergeben bekommt, muss es eine Liste mit dieser IP-Adresse
  zurückgeben, sonst gibt das rot.

Signed-off-by: Kevin Wolf <kevin@xxxxxxxxxx>
---
 src/modules/lib/posix/net.c |    9 ++++++++-
 1 files changed, 8 insertions(+), 1 deletions(-)

diff --git a/src/modules/lib/posix/net.c b/src/modules/lib/posix/net.c
index d1c4c6b..f470a63 100644
--- a/src/modules/lib/posix/net.c
+++ b/src/modules/lib/posix/net.c
@@ -197,7 +197,14 @@ struct hostent* gethostbyname(const char* name)
     ip = string_to_ip(name);
 
     // Wenn nicht, muessen wir eine DNS-Anfrage machen
-    if (ip == 0) {
+    if (ip != 0) {
+        uint32_t* ip_q = malloc(sizeof(*ip_q));
+        h_addr_list = realloc(h_addr_list, sizeof(uint32_t*) * 2);
+
+        *ip_q = ip;
+        h_addr_list[0] = ip_q;
+        h_addr_list[1] = NULL;
+    } else {
         char* path;
         FILE* f;
         unsigned long count = 0;
-- 
1.6.0.2