Fix caller of node_status_query() to use sockaddr_storage().
authorMichael Adam <obnox@samba.org>
Wed, 27 Feb 2008 09:06:53 +0000 (10:06 +0100)
committerMichael Adam <obnox@samba.org>
Wed, 27 Feb 2008 09:06:56 +0000 (10:06 +0100)
Caller is hidden inside an #ifdef .

Michael

source/nsswitch/wins.c

index c822fc78b9effda894abb04824884a6fff47b858..35649dfda2d79fbcbeb084f29a1abe087b551003 100644 (file)
@@ -147,7 +147,7 @@ static struct in_addr *lookup_byname_backend(const char *name, int *count)
 static NODE_STATUS_STRUCT *lookup_byaddr_backend(char *addr, int *count)
 {
        int fd;
-       struct in_addr  ip;
+       struct sockaddr_storage ss;
        struct nmb_name nname;
        NODE_STATUS_STRUCT *status;
 
@@ -160,8 +160,10 @@ static NODE_STATUS_STRUCT *lookup_byaddr_backend(char *addr, int *count)
                return NULL;
 
        make_nmb_name(&nname, "*", 0);
-       (void)interpret_addr2(&ip,addr);
-       status = node_status_query(fd,&nname,ip, count, NULL);
+       if (!interpret_string_addr(&ss, addr, AI_NUMERICHOST)) {
+               return NULL;
+       }
+       status = node_status_query(fd, &nname, &ss, count, NULL);
 
        close(fd);
        return status;