aboutsummaryrefslogtreecommitdiffstats
path: root/main
diff options
context:
space:
mode:
authorqwell <qwell@f38db490-d61c-443f-a65b-d21fe96a405b>2008-01-24 16:41:29 +0000
committerqwell <qwell@f38db490-d61c-443f-a65b-d21fe96a405b>2008-01-24 16:41:29 +0000
commit1e4acb0dff76115eed917f874938541c1928fbbe (patch)
tree6411d7d7326e5b25dc00ba076b89f1f44a44607a /main
parent7b96f3ceadf472281c02090b3517803c0ff97d9d (diff)
Fix compilation on Solaris.
(closes issue #11832) Patches: bug-11832.diff uploaded by snuffy (license 35) git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@100138 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'main')
-rw-r--r--main/acl.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/main/acl.c b/main/acl.c
index 8cc79a302..f48459e57 100644
--- a/main/acl.c
+++ b/main/acl.c
@@ -42,7 +42,6 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include <netinet/in_systm.h>
#include <netinet/ip.h>
#include <sys/ioctl.h>
-#include <ifaddrs.h>
#if defined(__OpenBSD__) || defined(__NetBSD__) || defined(__FreeBSD__) || defined(__Darwin__)
#include <fcntl.h>
@@ -51,6 +50,9 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#if defined(SOLARIS)
#include <sys/sockio.h>
+#include <net/if.h>
+#else
+#include <ifaddrs.h>
#endif
/* netinet/ip.h may not define the following (See RFCs 791 and 1349) */
@@ -159,8 +161,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);
@@ -218,7 +221,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)