# HG changeset patch # User Mathieu Lacage # Date 1239974561 -7200 # Node ID 596eb80344433c03c47e7b70921bb73403dc504a # Parent 6095f91e6a64e2f8f84291c4355a5864b6507017 bug 552: build with gcc 4.4 diff -r 6095f91e6a64 -r 596eb8034443 src/core/log.h --- a/src/core/log.h Fri Apr 17 14:06:51 2009 +0200 +++ b/src/core/log.h Fri Apr 17 15:22:41 2009 +0200 @@ -23,6 +23,7 @@ #include #include +#include namespace ns3 { diff -r 6095f91e6a64 -r 596eb8034443 src/devices/emu/emu-encode-decode.cc --- a/src/devices/emu/emu-encode-decode.cc Fri Apr 17 14:06:51 2009 +0200 +++ b/src/devices/emu/emu-encode-decode.cc Fri Apr 17 15:22:41 2009 +0200 @@ -20,6 +20,7 @@ #include #include #include +#include namespace ns3 { diff -r 6095f91e6a64 -r 596eb8034443 src/devices/tap-bridge/tap-creator.cc --- a/src/devices/tap-bridge/tap-creator.cc Fri Apr 17 14:06:51 2009 +0200 +++ b/src/devices/tap-bridge/tap-creator.cc Fri Apr 17 15:22:41 2009 +0200 @@ -138,13 +138,17 @@ } } -static void -SetInetAddress (sockaddr *ad, uint32_t networkOrder) +static sockaddr +CreateInetAddress (uint32_t networkOrder) { - struct sockaddr_in *sin = (struct sockaddr_in*)ad; - sin->sin_family = AF_INET; - sin->sin_port = 0; // unused - sin->sin_addr.s_addr = htonl (networkOrder); + union { + struct sockaddr any_socket; + struct sockaddr_in si; + } s; + s.si.sin_family = AF_INET; + s.si.sin_port = 0; // unused + s.si.sin_addr.s_addr = htonl (networkOrder); + return s.any_socket; } static void @@ -330,7 +334,7 @@ // // Set the IP address of the new interface/device. // - SetInetAddress (&ifr.ifr_addr, AsciiToIpv4 (ip)); + ifr.ifr_addr = CreateInetAddress (AsciiToIpv4 (ip)); status = ioctl (fd, SIOCSIFADDR, &ifr); ABORT_IF (status == -1, "Could not set IP address", true); LOG ("Set device IP address to " << ip); @@ -338,7 +342,7 @@ // // Set the net mask of the new interface/device // - SetInetAddress (&ifr.ifr_netmask, AsciiToIpv4 (netmask)); + ifr.ifr_netmask = CreateInetAddress (AsciiToIpv4 (netmask)); status = ioctl (fd, SIOCSIFNETMASK, &ifr); ABORT_IF (status == -1, "Could not set net mask", true); LOG ("Set device Net Mask to " << netmask); diff -r 6095f91e6a64 -r 596eb8034443 src/devices/tap-bridge/tap-encode-decode.cc --- a/src/devices/tap-bridge/tap-encode-decode.cc Fri Apr 17 14:06:51 2009 +0200 +++ b/src/devices/tap-bridge/tap-encode-decode.cc Fri Apr 17 15:22:41 2009 +0200 @@ -20,6 +20,7 @@ #include #include #include +#include namespace ns3 {