-not sure I see how this test can work, disabling for now
[oweals/gnunet.git] / src / gns / w32nsp-resolve.c
index 4a116f5948d496aa90f76a77b89bf1892fa82741..8e08d07178619c65a1192c4ab890c758ada02d4c 100644 (file)
  * @author LRN
  */
 #define INITGUID
+#include <ws2tcpip.h>
 #include <windows.h>
 #include <nspapi.h>
 #include <ws2spi.h>
 #include <nspapi.h>
-#include <ws2tcpip.h>
 #include "gnunet_w32nsp_lib.h"
 #include <stdio.h>
 
@@ -57,7 +57,8 @@ DEFINE_GUID(SVCID_INET_HOSTADDRBYNAME, 0x0002a803, 0x0000, 0x0000, 0xc0, 0x00, 0
 // to convert structures returned as BLOBs.
 //
 
-VOID FixList(PCHAR ** List, PCHAR Base)
+VOID 
+FixList(PCHAR ** List, PCHAR Base)
 {
     if(*List)
     {
@@ -77,7 +78,8 @@ VOID FixList(PCHAR ** List, PCHAR Base)
 // Routine to convert a hostent returned in a BLOB to one with
 // usable pointers. The structure is converted in-place.
 //
-VOID UnpackHostEnt(struct hostent * hostent)
+VOID 
+UnpackHostEnt(struct hostent * hostent)
 {
      PCHAR pch;
 
@@ -91,13 +93,15 @@ VOID UnpackHostEnt(struct hostent * hostent)
      FixList(&hostent->h_addr_list, pch);
 }
 
-void
+
+static void
 print_hostent (struct hostent *he)
 {
   int i;
   char **pAlias;
+
   printf("\tOfficial name: %s\n", he->h_name);
-  for (pAlias = he->h_aliases; *pAlias != 0; pAlias++) {
+  for (i=0, pAlias = he->h_aliases; *pAlias != 0; pAlias++) {
       printf("\tAlternate name #%d: %s\n", ++i, *pAlias);
   }
   printf("\tAddress type: ");
@@ -150,14 +154,15 @@ print_hostent (struct hostent *he)
   }
 }
 
+
 int
 main (int argc, char **argv)
 {
   int ret;
   int r = 1;
   WSADATA wsd;
-  GUID *prov = NULL;
-  GUID *sc = NULL;
+  GUID prov;
+  GUID sc;
   wchar_t *cmdl;
   int wargc;
   wchar_t **wargv;
@@ -185,19 +190,19 @@ main (int argc, char **argv)
   if (wargc == 5)
   {
     if (wcscmp (wargv[1], L"A") == 0)
-      sc = &SVCID_DNS_TYPE_A;
+      sc = SVCID_DNS_TYPE_A;
     else if (wcscmp (wargv[1], L"AAAA") == 0)
-      sc = &SVCID_DNS_TYPE_AAAA;
+      sc = SVCID_DNS_TYPE_AAAA;
     else if (wcscmp (wargv[1], L"name") == 0)
-      sc = &SVCID_HOSTNAME;
+      sc = SVCID_HOSTNAME;
     else if (wcscmp (wargv[1], L"addr") == 0)
-      sc = &SVCID_INET_HOSTADDRBYNAME;
+      sc = SVCID_INET_HOSTADDRBYNAME;
     else
       wargc -= 1;
     if (wcscmp (wargv[4], L"mswdns") == 0)
-      prov = &W32_DNS;
+      prov = W32_DNS;
     else if (wcscmp (wargv[4], L"gnunetdns") == 0)
-      prov = &GNUNET_NAMESPACE_PROVIDER_DNS;
+      prov = GNUNET_NAMESPACE_PROVIDER_DNS;
     else
       wargc -= 1;
   }
@@ -217,7 +222,7 @@ main (int argc, char **argv)
       if (startup != NULL)
       {
         NSP_ROUTINE api;
-        ret = startup (prov, &api);
+        ret = startup (&prov, &api);
         if (NO_ERROR != ret)
           fprintf (stderr, "startup failed\n");
         else
@@ -231,10 +236,10 @@ main (int argc, char **argv)
           memset (&search, 0, sizeof (search));
           search.dwSize = sizeof (search);
           search.lpszServiceInstanceName = (wcscmp (wargv[2], L" ") == 0) ? NULL : wargv[2];
-          search.lpServiceClassId = sc;
-          search.lpNSProviderId = prov;
+          search.lpServiceClassId = &sc;
+          search.lpNSProviderId = &prov;
           search.dwNameSpace = NS_ALL;
-          ret = api.NSPLookupServiceBegin (prov, &search, NULL, LUP_RETURN_ALL, &lookup);
+          ret = api.NSPLookupServiceBegin (&prov, &search, NULL, LUP_RETURN_ALL, &lookup);
           if (ret != NO_ERROR)
           {
             fprintf (stderr, "lookup start failed\n");
@@ -353,7 +358,7 @@ main (int argc, char **argv)
             if (ret != NO_ERROR)
               printf ("NSPLookupServiceEnd() failed: %lu\n", GetLastError ());
           }
-          api.NSPCleanup (prov);
+          api.NSPCleanup (&prov);
         }
       }
       FreeLibrary (nsp);