summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorwtc%netscape.com <devnull@localhost>1999-12-29 23:17:27 +0000
committerwtc%netscape.com <devnull@localhost>1999-12-29 23:17:27 +0000
commit796100bd3e2cc5a31b814c1ef522cb9e9b7b2f65 (patch)
tree1d11ec3e41debc1ddf023c824ea65b33c9f3a1d6
parent98136c980fc33e6d226f8cd51b353958ffb6d8e6 (diff)
downloadnspr-hg-796100bd3e2cc5a31b814c1ef522cb9e9b7b2f65.tar.gz
Bugzilla bug #18511: on Windows NT, the IP_MULTICAST_TTL option cannot be
set unless the socket is bound to an address.
-rw-r--r--pr/tests/sockopt.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/pr/tests/sockopt.c b/pr/tests/sockopt.c
index 75eb5d0b..0dca5b92 100644
--- a/pr/tests/sockopt.c
+++ b/pr/tests/sockopt.c
@@ -104,6 +104,12 @@ PRIntn main(PRIntn argc, char *argv)
PRUint32 ttl = 20;
PRBool boolean = PR_TRUE;
PRUint32 segment = 1024;
+ PRNetAddr addr;
+
+ rv = PR_InitializeNetAddr(PR_IpAddrAny, 0, &addr);
+ if (PR_FAILURE == rv) Failed("PR_InitializeNetAddr()", NULL);
+ rv = PR_Bind(udp, &addr);
+ if (PR_FAILURE == rv) Failed("PR_Bind()", NULL);
for(option = PR_SockOpt_Linger; option < PR_SockOpt_Last; Incr(&option))
{
void *value;
@@ -162,8 +168,7 @@ PRIntn main(PRIntn argc, char *argv)
*/
if (option != PR_SockOpt_MaxSegment) {
#ifdef WIN32
- if ((option != PR_SockOpt_McastTimeToLive) &&
- (option != PR_SockOpt_McastLoopback))
+ if (option != PR_SockOpt_McastLoopback)
#endif
{
rv = PR_SetSockOpt(socket, option, value, *size);
@@ -235,8 +240,7 @@ PRIntn main(PRIntn argc, char *argv)
*/
if (option != PR_SockOpt_MaxSegment) {
#ifdef WIN32
- if ((option != PR_SockOpt_McastTimeToLive) &&
- (option != PR_SockOpt_McastLoopback))
+ if (option != PR_SockOpt_McastLoopback)
#endif
{
rv = PR_SetSocketOption(fd, &data);