]> granicus.if.org Git - curl/commitdiff
Applied Joe Halpin's bugfixes to the NI_WITHSCOPEID test program.
authorDaniel Stenberg <daniel@haxx.se>
Thu, 1 Apr 2004 06:53:11 +0000 (06:53 +0000)
committerDaniel Stenberg <daniel@haxx.se>
Thu, 1 Apr 2004 06:53:11 +0000 (06:53 +0000)
acinclude.m4

index 5c486cf9b45e810f8ceb9955d4b173bc42923d8f..8c5d8cc3fa3bd87568902c7609bdae0acffc02a6 100644 (file)
@@ -282,25 +282,27 @@ AC_DEFUN([CURL_CHECK_NI_WITHSCOPEID],[
   AC_CACHE_CHECK(for working NI_WITHSCOPEID, ac_cv_working_ni_withscopeid,[
 
  AC_RUN_IFELSE([[
+#include <stdio.h>
+#include <sys/types.h>
 #include <sys/socket.h>
 #include <netdb.h>
 int main()
 {
 #ifdef NI_WITHSCOPEID
    struct sockaddr_storage ss;
-   int sslen;
+   int sslen = sizeof(ss);
    int rc;
    char hbuf[NI_MAXHOST];
    int fd = socket(AF_INET6, SOCK_STREAM, 0);
    if(fd < 0) {
-     printf("couldn't create AF_INET6 socket\n");
-     return 4; /* couldn't create socket of either kind */
+     perror("socket()");
+     return 1; /* couldn't create socket of either kind */
    }
 
    rc = getsockname(fd, (struct sockaddr *)&ss, &sslen);
    if(rc) {
-     printf("getsockname() failed\n");
-     return 1; /* getsockname() failed unexpectedly */
+     perror("getsockname()");
+     return 2;
    }
 
    rc = getnameinfo((struct sockaddr *)&ss, sslen, hbuf, sizeof(hbuf),
@@ -309,13 +311,12 @@ int main()
 
    if(rc) {
      printf("rc = %s\n", gai_strerror(rc));
-     return 2; /* getnameinfo() failed, we take this as an indication to
-                  avoid NI_WITHSCOPEID */
+     return 3;
    }
 
    return 0; /* everything works fine, use NI_WITHSCOPEID! */
 #else
-   return 3; /* we don't seem to have the definition, don't use it */
+   return 4; /* we don't seem to have the definition, don't use it */
 #endif
 }
 ]],