Merged revisions 100138 via svnmerge from
authorJason Parker <jparker@digium.com>
Thu, 24 Jan 2008 16:47:10 +0000 (16:47 +0000)
committerJason Parker <jparker@digium.com>
Thu, 24 Jan 2008 16:47:10 +0000 (16:47 +0000)
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r100138 | qwell | 2008-01-24 10:41:29 -0600 (Thu, 24 Jan 2008) | 6 lines

Fix compilation on Solaris.

(closes issue #11832)
Patches:
      bug-11832.diff uploaded by snuffy (license 35)

........

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@100139 65c4cc65-6c06-0410-ace0-fbb531ad65f3

main/acl.c
res/res_phoneprov.c

index 9944f50..4a26ec3 100644 (file)
@@ -28,7 +28,6 @@
 ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
 
 #include "asterisk/network.h"
-#include <ifaddrs.h>
 
 #if defined(__OpenBSD__) || defined(__NetBSD__) || defined(__FreeBSD__) || defined(__Darwin__)
 #include <fcntl.h>
@@ -37,6 +36,9 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
 
 #if defined(SOLARIS)
 #include <sys/sockio.h>
+#include <net/if.h>
+#else
+#include <ifaddrs.h>
 #endif
 
 #include "asterisk/acl.h"
@@ -118,8 +120,9 @@ static int get_local_address(struct in_addr *ourip)
        int rtnerr;
        const struct sockaddr_in *sin;
 #endif /* BSD_OR_LINUX */
-       struct in_addr best_addr = { 0, };
+       struct in_addr best_addr;
        int best_score = -100;
+       memset(&best_addr, 0, sizeof(best_addr));
 
 #if defined(__OpenBSD__) || defined(__NetBSD__) || defined(__FreeBSD__) || defined(__linux__) || defined(__Darwin__)
        rtnerr = getifaddrs(&ifaphead);
@@ -177,7 +180,7 @@ static int get_local_address(struct in_addr *ourip)
 
                for (ifr = (struct lifreq *)buf, x = 0; x < ifn.lifn_count; ifr++, x++) {
                        sa = (struct sockaddr_in *)&(ifr->lifr_addr);
-                       score_address(sin, &best_addr, &best_score);
+                       score_address(sa, &best_addr, &best_score);
                        res = 0;
 
                        if (best_score == 0)
index bffe1a2..febf2ed 100644 (file)
@@ -31,7 +31,9 @@
 #include <sys/ioctl.h>
 #include <sys/socket.h>
 #include <net/if.h>
-
+#ifdef SOLARIS
+#include <sys/sockio.h>
+#endif
 ASTERISK_FILE_VERSION(__FILE__, "$Revision: 96773 $")
 
 #include "asterisk/file.h"