use c99
[oweals/gnunet.git] / src / arm / test_gnunet_service_arm.c
index 3e4b9db49f0a1ddc417864884a623408d2ac7a6d..33662e57985d95a4093cc61916a4f8759194f7c5 100644 (file)
@@ -1,6 +1,6 @@
 /*
      This file is part of GNUnet.
-     Copyright (C) 2009, 2014 Christian Grothoff (and other contributing authors)
+     Copyright (C) 2009, 2014 GNUnet e.V.
 
      GNUnet is free software; you can redistribute it and/or modify
      it under the terms of the GNU General Public License as published
@@ -14,8 +14,8 @@
 
      You should have received a copy of the GNU General Public License
      along with GNUnet; see the file COPYING.  If not, write to the
-     Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-     Boston, MA 02111-1307, USA.
+     Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+     Boston, MA 02110-1301, USA.
 */
 /**
  * @file arm/test_gnunet_service_arm.c
@@ -49,8 +49,7 @@ static struct GNUNET_ARM_Handle *arm;
 
 
 static void
-trigger_disconnect (void *cls,
-                    const struct GNUNET_SCHEDULER_TaskContext *tc)
+trigger_disconnect (void *cls)
 {
   GNUNET_ARM_disconnect_and_free (arm);
   arm = NULL;
@@ -214,13 +213,54 @@ main (int argc, char *av[])
     strcpy (hostname,
            "www.gnu.org");
   }
-  if (NULL == gethostbyname (hostname))
+  /* trigger DNS lookup */
+#if HAVE_GETADDRINFO
   {
-    FPRINTF (stderr,
-             "Failed to resolve my hostname `%s', testcase not run.\n",
-             hostname);
-    return 0;
+    struct addrinfo *ai;
+    int ret;
+
+    if (0 != (ret = getaddrinfo (hostname, NULL, NULL, &ai)))
+    {
+      FPRINTF (stderr,
+               "Failed to resolve my hostname `%s', testcase not run.\n",
+               hostname);
+      return 0;
+    }
+    freeaddrinfo (ai);
+  }
+#elif HAVE_GETHOSTBYNAME2
+  {
+    struct hostent *host;
+
+    host = gethostbyname2 (hostname, AF_INET);
+    if (NULL == host)
+      host = gethostbyname2 (hostname, AF_INET6);
+    if (NULL == host)
+      {
+        FPRINTF (stderr,
+                 "Failed to resolve my hostname `%s', testcase not run.\n",
+                 hostname);
+        return 0;
+      }
+  }
+#elif HAVE_GETHOSTBYNAME
+  {
+    struct hostent *host;
+
+    host = gethostbyname (hostname);
+    if (NULL == host)
+      {
+        FPRINTF (stderr,
+                 "Failed to resolve my hostname `%s', testcase not run.\n",
+                 hostname);
+        return 0;
+      }
   }
+#else
+  FPRINTF (stderr,
+           "libc fails to have resolver function, testcase not run.\n");
+  return 0;
+#endif
   GNUNET_log_setup ("test-gnunet-service-arm",
                    "WARNING",
                    NULL);