chiark
/
gitweb
/
~mdw
/
disorder
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(from parent 1:
01f871b
)
more cautious parsing of getifnames() result
author
Richard Kettlewell
<rjk@greenend.org.uk>
Wed, 26 Sep 2007 15:56:42 +0000
(16:56 +0100)
committer
Richard Kettlewell
<rjk@greenend.org.uk>
Wed, 26 Sep 2007 15:56:42 +0000
(16:56 +0100)
server/speaker-network.c
patch
|
blob
|
blame
|
history
diff --git
a/server/speaker-network.c
b/server/speaker-network.c
index c81b7dbf354cded5993e1de8d9e08d72a5fcc8b1..5b1ccce0a9d02c486326d280c9563f963ecba8a0 100644
(file)
--- a/
server/speaker-network.c
+++ b/
server/speaker-network.c
@@
-155,7
+155,11
@@
static void network_init(void) {
if(getifaddrs(&ifs) < 0)
fatal(errno, "error calling getifaddrs");
while(ifs) {
+ /* (At least on Darwin) IFF_BROADCAST might be set but ifa_broadaddr
+ * still a null pointer. It turns out that there's a subsequent entry
+ * for he same interface which _does_ have ifa_broadaddr though... */
if((ifs->ifa_flags & IFF_BROADCAST)
+ && ifs->ifa_broadaddr
&& sockaddr_equal(ifs->ifa_broadaddr, res->ai_addr))
break;
ifs = ifs->ifa_next;