Patch ALIGN_NOWARN_ARM macro for better priority handling.
authorHenning Rogge <hrogge@googlemail.com>
Tue, 9 Mar 2010 17:17:51 +0000 (18:17 +0100)
committerHenning Rogge <hrogge@googlemail.com>
Tue, 9 Mar 2010 17:17:51 +0000 (18:17 +0100)
15 files changed:
lib/mdns/src/NetworkInterfaces.c
lib/mdns/src/Packet.c
lib/mdns/src/mdns.c
lib/nameservice/src/nameservice.c
lib/secure/src/olsrd_secure.c
lib/tas/src/lua/ldo.h
lib/tas/src/lua/llimits.h
lib/tas/src/os_unix.c
lib/tas/src/plugin.c
src/defs.h
src/linux/kernel_routes_nl.c
src/lq_packet.c
src/olsr_cookie.c
src/print_packet.c
src/unix/ifnet.c

index 27da808..9134bd7 100644 (file)
@@ -255,7 +255,7 @@ CreateInterface(const char *ifName, struct interface *olsrIntf)
       newIf->intAddr.v4.s_addr = inet_addr("0.0.0.0");
     } else {
       /* Downcast to correct sockaddr subtype */
-      newIf->intAddr.v4 = ((struct sockaddr_in *)(ARM_NOWARN_ALIGN)&ifr.ifr_addr)->sin_addr;
+      newIf->intAddr.v4 = ((struct sockaddr_in *)ARM_NOWARN_ALIGN(&ifr.ifr_addr))->sin_addr;
     }
 
     /* For a non-OLSR interface, retrieve the IP broadcast address ourselves */
@@ -268,7 +268,7 @@ CreateInterface(const char *ifName, struct interface *olsrIntf)
       newIf->broadAddr.v4.s_addr = inet_addr("0.0.0.0");
     } else {
       /* Downcast to correct sockaddr subtype */
-      newIf->broadAddr.v4 = ((struct sockaddr_in *)(ARM_NOWARN_ALIGN)&ifr.ifr_broadaddr)->sin_addr;
+      newIf->broadAddr.v4 = ((struct sockaddr_in *)ARM_NOWARN_ALIGN(&ifr.ifr_broadaddr))->sin_addr;
     }
   }
 
@@ -375,7 +375,7 @@ CreateBmfNetworkInterfaces(struct interface *skipThisIntf)
     //}
 
     /* ...find the OLSR interface structure, if any */
-    ipAddr.v4 = ((struct sockaddr_in *)(ARM_NOWARN_ALIGN)&ifr->ifr_addr)->sin_addr;
+    ipAddr.v4 = ((struct sockaddr_in *)ARM_NOWARN_ALIGN(&ifr->ifr_addr))->sin_addr;
     olsrIntf = if_ifwithaddr(&ipAddr);
 
     if (skipThisIntf != NULL && olsrIntf == skipThisIntf) {
index dfa0ab8..f035e35 100644 (file)
@@ -66,7 +66,7 @@ IsIpFragment(unsigned char *ipPacket)
 
   assert(ipPacket != NULL);
 
-  iph = (struct ip *)(ARM_NOWARN_ALIGN)ipPacket;
+  iph = (struct ip *)ARM_NOWARN_ALIGN(ipPacket);
   if ((ntohs(iph->ip_off) & IP_OFFMASK) != 0) {
     return 1;
   }
@@ -89,7 +89,7 @@ GetIpTotalLength(unsigned char *ipPacket)
 
   assert(ipPacket != NULL);
 
-  iph = (struct iphdr *)(ARM_NOWARN_ALIGN)ipPacket;
+  iph = (struct iphdr *)ARM_NOWARN_ALIGN(ipPacket);
   return ntohs(iph->tot_len);
 }                               /* GetIpTotalLength */
 
@@ -108,7 +108,7 @@ GetIpHeaderLength(unsigned char *ipPacket)
 
   assert(ipPacket != NULL);
 
-  iph = (struct iphdr *)(ARM_NOWARN_ALIGN)ipPacket;
+  iph = (struct iphdr *)ARM_NOWARN_ALIGN(ipPacket);
   return iph->ihl << 2;
 }                               /* GetIpHeaderLength */
 
@@ -128,7 +128,7 @@ GetTtl(unsigned char *ipPacket)
 
   assert(ipPacket != NULL);
 
-  iph = (struct iphdr *)(ARM_NOWARN_ALIGN)ipPacket;
+  iph = (struct iphdr *)ARM_NOWARN_ALIGN(ipPacket);
   return iph->ttl;
 }                               /* GetTtl */
 
@@ -148,7 +148,7 @@ SaveTtlAndChecksum(unsigned char *ipPacket, struct TSaveTtl *sttl)
 
   assert(ipPacket != NULL && sttl != NULL);
 
-  iph = (struct iphdr *)(ARM_NOWARN_ALIGN)ipPacket;
+  iph = (struct iphdr *)ARM_NOWARN_ALIGN(ipPacket);
   sttl->ttl = iph->ttl;
   sttl->check = ntohs(iph->check);
 }                               /* SaveTtlAndChecksum */
@@ -170,7 +170,7 @@ RestoreTtlAndChecksum(unsigned char *ipPacket, struct TSaveTtl *sttl)
 
   assert(ipPacket != NULL && sttl != NULL);
 
-  iph = (struct iphdr *)(ARM_NOWARN_ALIGN)ipPacket;
+  iph = (struct iphdr *)ARM_NOWARN_ALIGN(ipPacket);
   iph->ttl = sttl->ttl;
   iph->check = htons(sttl->check);
 }                               /* RestoreTtlAndChecksum */
@@ -193,7 +193,7 @@ DecreaseTtlAndUpdateHeaderChecksum(unsigned char *ipPacket)
 
   assert(ipPacket != NULL);
 
-  iph = (struct iphdr *)(ARM_NOWARN_ALIGN)ipPacket;
+  iph = (struct iphdr *)ARM_NOWARN_ALIGN(ipPacket);
 
   iph->ttl--;                   /* decrement ttl */
   sum = ntohs(iph->check) + 0x100;      /* increment checksum high byte */
@@ -211,7 +211,7 @@ DecreaseTtlAndUpdateHeaderChecksum(unsigned char *ipPacket)
 struct ip *
 GetIpHeader(unsigned char *encapsulationUdpData)
 {
-  return (struct ip *)(ARM_NOWARN_ALIGN)(encapsulationUdpData + ENCAP_HDR_LEN);
+  return (struct ip *)ARM_NOWARN_ALIGN(encapsulationUdpData + ENCAP_HDR_LEN);
 }                               /* GetIpHeader */
 
 /* -------------------------------------------------------------------------
index e7f7971..a361b23 100644 (file)
@@ -92,8 +92,8 @@ PacketReceivedFromOLSR(unsigned char *encapsulationUdpData, int len)
   //union olsr_ip_addr mcDst;            /* Multicast destination of the encapsulated packet */
   struct TBmfInterface *walker;
   int stripped_len = 0;
-  ipHeader = (struct ip *)(ARM_NOWARN_ALIGN)encapsulationUdpData;
-  ip6Header = (struct ip6_hdr *)(ARM_NOWARN_ALIGN)encapsulationUdpData;
+  ipHeader = (struct ip *)ARM_NOWARN_ALIGN(encapsulationUdpData);
+  ip6Header = (struct ip6_hdr *)ARM_NOWARN_ALIGN(encapsulationUdpData);
 
   //mcSrc.v4 = ipHeader->ip_src;
   //mcDst.v4 = ipHeader->ip_dst;
@@ -344,7 +344,7 @@ BmfPacketCaptured(
 
   if ((encapsulationUdpData[0] & 0xf0) == 0x40) {       //IPV4
 
-    ipHeader = (struct ip *)(ARM_NOWARN_ALIGN)encapsulationUdpData;
+    ipHeader = (struct ip *)ARM_NOWARN_ALIGN(encapsulationUdpData);
 
     dst.v4 = ipHeader->ip_dst;
 
@@ -359,7 +359,7 @@ BmfPacketCaptured(
       //OLSR_PRINTF(1,"NON UDP PACKET\n");
       return;                   /* for */
     }
-    udpHeader = (struct udphdr *)(ARM_NOWARN_ALIGN)(encapsulationUdpData + GetIpHeaderLength(encapsulationUdpData));
+    udpHeader = (struct udphdr *)ARM_NOWARN_ALIGN(encapsulationUdpData + GetIpHeaderLength(encapsulationUdpData));
     destPort = ntohs(udpHeader->dest);
     if (destPort != 5353) {
       return;
@@ -368,7 +368,7 @@ BmfPacketCaptured(
 
   else if ((encapsulationUdpData[0] & 0xf0) == 0x60) {  //IPv6
 
-    ipHeader6 = (struct ip6_hdr *)(ARM_NOWARN_ALIGN)encapsulationUdpData;
+    ipHeader6 = (struct ip6_hdr *)ARM_NOWARN_ALIGN(encapsulationUdpData);
     if (ipHeader6->ip6_dst.s6_addr[0] == 0xff)  //Multicast
     {
       //Continua
@@ -380,7 +380,7 @@ BmfPacketCaptured(
       //OLSR_PRINTF(1,"NON UDP PACKET\n");
       return;                   /* for */
     }
-    udpHeader = (struct udphdr *)(ARM_NOWARN_ALIGN)(encapsulationUdpData + 40);
+    udpHeader = (struct udphdr *)ARM_NOWARN_ALIGN(encapsulationUdpData + 40);
     destPort = ntohs(udpHeader->dest);
     if (destPort != 5353) {
       return;
index fcd85ca..89ecd5e 100644 (file)
@@ -590,7 +590,7 @@ olsr_namesvc_gen(void *foo __attribute__ ((unused)))
     message->v4.hopcnt = 0;
     message->v4.seqno = htons(get_msg_seqno());
 
-    namesize = encap_namemsg((struct namemsg *)(ARM_NOWARN_ALIGN)&message->v4.message);
+    namesize = encap_namemsg((struct namemsg *)ARM_NOWARN_ALIGN(&message->v4.message));
     namesize = namesize + sizeof(struct olsrmsg);
 
     message->v4.olsr_msgsize = htons(namesize);
@@ -603,7 +603,7 @@ olsr_namesvc_gen(void *foo __attribute__ ((unused)))
     message->v6.hopcnt = 0;
     message->v6.seqno = htons(get_msg_seqno());
 
-    namesize = encap_namemsg((struct namemsg *)(ARM_NOWARN_ALIGN)&message->v6.message);
+    namesize = encap_namemsg((struct namemsg *)ARM_NOWARN_ALIGN(&message->v6.message));
     namesize = namesize + sizeof(struct olsrmsg6);
 
     message->v6.olsr_msgsize = htons(namesize);
@@ -648,11 +648,11 @@ olsr_parser(union olsr_message *m, struct interface *in_if __attribute__ ((unuse
   if (olsr_cnf->ip_version == AF_INET) {
     vtime = me_to_reltime(m->v4.olsr_vtime);
     size = ntohs(m->v4.olsr_msgsize);
-    namemessage = (struct namemsg *)(ARM_NOWARN_ALIGN)&m->v4.message;
+    namemessage = (struct namemsg *)ARM_NOWARN_ALIGN(&m->v4.message);
   } else {
     vtime = me_to_reltime(m->v6.olsr_vtime);
     size = ntohs(m->v6.olsr_msgsize);
-    namemessage = (struct namemsg *)(ARM_NOWARN_ALIGN)&m->v6.message;
+    namemessage = (struct namemsg *)ARM_NOWARN_ALIGN(&m->v6.message);
   }
 
   /* Check if message originated from this node.
@@ -692,22 +692,22 @@ encap_namemsg(struct namemsg *msg)
 
   // names
   for (my_name = my_names; my_name != NULL; my_name = my_name->next) {
-    pos = create_packet((struct name *)(ARM_NOWARN_ALIGN)pos, my_name);
+    pos = create_packet((struct name *)ARM_NOWARN_ALIGN(pos), my_name);
     i++;
   }
   // forwarders
   for (my_name = my_forwarders; my_name != NULL; my_name = my_name->next) {
-    pos = create_packet((struct name *)(ARM_NOWARN_ALIGN)pos, my_name);
+    pos = create_packet((struct name *)ARM_NOWARN_ALIGN(pos), my_name);
     i++;
   }
   // services
   for (my_name = my_services; my_name != NULL; my_name = my_name->next) {
-    pos = create_packet((struct name *)(ARM_NOWARN_ALIGN)pos, my_name);
+    pos = create_packet((struct name *)ARM_NOWARN_ALIGN(pos), my_name);
     i++;
   }
   // macs
   for (my_name = my_macs; my_name != NULL; my_name = my_name->next) {
-    pos = create_packet((struct name *)(ARM_NOWARN_ALIGN)pos, my_name);
+    pos = create_packet((struct name *)ARM_NOWARN_ALIGN(pos), my_name);
     i++;
   }
   // latlon
@@ -729,7 +729,7 @@ encap_namemsg(struct namemsg *msg)
     e.type = NAME_LATLON;
     e.name = s;
     lookup_defhna_latlon(&e.ip);
-    pos = create_packet((struct name *)(ARM_NOWARN_ALIGN)pos, &e);
+    pos = create_packet((struct name *)ARM_NOWARN_ALIGN(pos), &e);
     i++;
   }
   // write the namemsg header with the number of announced entries and the protocol version
@@ -876,7 +876,7 @@ update_name_entry(union olsr_ip_addr *originator, struct namemsg *msg, int msg_s
   end_pos = pos + msg_size - sizeof(struct name *);     // at least one struct name has to be left
 
   for (i = ntohs(msg->nr_names); i > 0 && pos < end_pos; i--) {
-    from_packet = (struct name *)(ARM_NOWARN_ALIGN)pos;
+    from_packet = (struct name *)ARM_NOWARN_ALIGN(pos);
 
     switch (ntohs(from_packet->type)) {
     case NAME_HOST:
index c6033fc..6d7bcdf 100644 (file)
@@ -312,7 +312,7 @@ add_signature(uint8_t * pck, int *size)
   olsr_printf(2, "[ENC]Adding signature for packet size %d\n", *size);
   fflush(stdout);
 
-  msg = (struct s_olsrmsg *)(ARM_NOWARN_ALIGN)&pck[*size];
+  msg = (struct s_olsrmsg *)ARM_NOWARN_ALIGN(&pck[*size]);
   /* Update size */
   ((struct olsr *)pck)->olsr_packlen = htons(*size + sizeof(struct s_olsrmsg));
 
@@ -391,7 +391,7 @@ validate_packet(struct interface *olsr_if, const char *pck, int *size)
   if (packetsize < 4)
     return 0;
 
-  sig = (const struct s_olsrmsg *)(const ARM_NOWARN_ALIGN)&pck[packetsize];
+  sig = (const struct s_olsrmsg *)CONST_ARM_NOWARN_ALIGN(&pck[packetsize]);
 
   //olsr_printf(1, "Size: %d\n", packetsize);
 
@@ -622,7 +622,7 @@ parse_cres(struct interface *olsr_if, char *in_msg)
   struct stamp *entry;
   struct ipaddr_str buf;
 
-  msg = (struct c_respmsg *)(ARM_NOWARN_ALIGN)in_msg;
+  msg = (struct c_respmsg *)ARM_NOWARN_ALIGN(in_msg);
 
   olsr_printf(1, "[ENC]Challenge-response message received\n");
   olsr_printf(3, "[ENC]To: %s\n", olsr_ip_to_string(&buf, (union olsr_ip_addr *)&msg->destination));
@@ -710,7 +710,7 @@ parse_rres(char *in_msg)
   struct stamp *entry;
   struct ipaddr_str buf;
 
-  msg = (struct r_respmsg *)(ARM_NOWARN_ALIGN)in_msg;
+  msg = (struct r_respmsg *)ARM_NOWARN_ALIGN(in_msg);
 
   olsr_printf(1, "[ENC]Response-response message received\n");
   olsr_printf(3, "[ENC]To: %s\n", olsr_ip_to_string(&buf, (union olsr_ip_addr *)&msg->destination));
@@ -794,7 +794,7 @@ parse_challenge(struct interface *olsr_if, char *in_msg)
   uint32_t hash;
   struct ipaddr_str buf;
 
-  msg = (struct challengemsg *)(ARM_NOWARN_ALIGN)in_msg;
+  msg = (struct challengemsg *)ARM_NOWARN_ALIGN(in_msg);
 
   olsr_printf(1, "[ENC]Challenge message received\n");
   olsr_printf(3, "[ENC]To: %s\n", olsr_ip_to_string(&buf, (union olsr_ip_addr *)&msg->destination));
index 1653023..90eff64 100644 (file)
 #define incr_top(L) {luaD_checkstack(L,1); L->top++;}
 
 #define savestack(L,p)         ((char *)(p) - (char *)L->stack)
-#define restorestack(L,n)      ((TObject *)(ARM_NOWARN_ALIGN)((char *)L->stack + (n)))
+#define restorestack(L,n)      ((TObject *)ARM_NOWARN_ALIGN((char *)L->stack + (n)))
 
 #define saveci(L,p)            ((char *)(p) - (char *)L->base_ci)
-#define restoreci(L,n)         ((CallInfo *)(ARM_NOWARN_ALIGN)((char *)L->base_ci + (n)))
+#define restoreci(L,n)         ((CallInfo *)ARM_NOWARN_ALIGN((char *)L->base_ci + (n)))
 
 /* type of protected functions, to be ran by `runprotected' */
 typedef void (*Pfunc) (lua_State * L, void *ud);
index 9d603a4..346e0f0 100644 (file)
@@ -104,7 +104,7 @@ typedef LUA_UACNUMBER l_uacNumber;
 #endif
 
 #ifndef cast_align
-#define cast_align(t, exp)     ((t)(ARM_NOWARN_ALIGN)(exp))
+#define cast_align(t, exp)     ((t)ARM_NOWARN_ALIGN(exp))
 #endif
 
 /*
index ef3dfc2..576f4ad 100644 (file)
@@ -410,7 +410,7 @@ createSockAddr(struct sockaddr *sockAddr, const struct ipAddr *addr, int port)
   memset(sockAddr, 0, sizeof(struct sockaddr));
 
   if (addr->domain == PF_INET) {
-    sockAddr4 = (struct sockaddr_in *)(ARM_NOWARN_ALIGN)sockAddr;
+    sockAddr4 = (struct sockaddr_in *)ARM_NOWARN_ALIGN(sockAddr);
 
     sockAddr4->sin_family = AF_INET;
     sockAddr4->sin_port = htons((short)port);
@@ -420,7 +420,7 @@ createSockAddr(struct sockaddr *sockAddr, const struct ipAddr *addr, int port)
   }
 
   if (addr->domain == PF_INET6) {
-    sockAddr6 = (struct sockaddr_in6 *)(ARM_NOWARN_ALIGN)sockAddr;
+    sockAddr6 = (struct sockaddr_in6 *)ARM_NOWARN_ALIGN(sockAddr);
 
     sockAddr6->sin6_family = AF_INET6;
     sockAddr6->sin6_port = htons((short)port);
@@ -436,8 +436,8 @@ createSockAddr(struct sockaddr *sockAddr, const struct ipAddr *addr, int port)
 static int
 addrFromSockAddr(struct ipAddr *addr, const struct sockaddr *sockAddr)
 {
-  const struct sockaddr_in *sockAddr4 = (const struct sockaddr_in *)(const ARM_NOWARN_ALIGN)sockAddr;
-  const struct sockaddr_in6 *sockAddr6 = (const struct sockaddr_in6 *)(const ARM_NOWARN_ALIGN)sockAddr;
+  const struct sockaddr_in *sockAddr4 = (const struct sockaddr_in *)CONST_ARM_NOWARN_ALIGN(sockAddr);
+  const struct sockaddr_in6 *sockAddr6 = (const struct sockaddr_in6 *)CONST_ARM_NOWARN_ALIGN(sockAddr);
 
   memset(addr, 0, sizeof(struct ipAddr));
 
index bf64150..780066e 100644 (file)
@@ -321,7 +321,7 @@ static bool
 parserFunc(union olsr_message *msg, struct interface *inInt __attribute__ ((unused)), union olsr_ip_addr *neighIntAddr)
 {
   char *mess = (char *)msg;
-  union olsr_ip_addr *orig = (union olsr_ip_addr *)(ARM_NOWARN_ALIGN)(mess + 4);
+  union olsr_ip_addr *orig = (union olsr_ip_addr *)ARM_NOWARN_ALIGN(mess + 4);
   int len = (mess[2] << 8) | mess[3];
   char *service, *string;
   int i;
index 23f956e..aa24d22 100644 (file)
@@ -119,7 +119,8 @@ extern FILE *debug_handle;
  * CPU will throw BUS_ERROR if alignment does not fit. For this,
  * we add an additional cast to (void *) to prevent the warning.
  */
-#define ARM_NOWARN_ALIGN void *
+#define ARM_NOWARN_ALIGN(x) ((void *)(x))
+#define CONST_ARM_NOWARN_ALIGN(x) ((const void *)(x))
 
 /*
  * A somewhat safe version of strncpy and strncat. Note, that
index d3e13c0..12a8e86 100644 (file)
@@ -75,7 +75,7 @@
  * from /usr/include/linux/netlink.h and adapted for ARM
  */
 #define MY_NLMSG_NEXT(nlh,len)   ((len) -= NLMSG_ALIGN((nlh)->nlmsg_len), \
-          (struct nlmsghdr*)(ARM_NOWARN_ALIGN)(((char*)(nlh)) + NLMSG_ALIGN((nlh)->nlmsg_len)))
+          (struct nlmsghdr*)ARM_NOWARN_ALIGN((((char*)(nlh)) + NLMSG_ALIGN((nlh)->nlmsg_len)))
 
 
 static void rtnetlink_read(int sock, void *, unsigned int);
@@ -162,7 +162,7 @@ static void rtnetlink_read(int sock, void *data __attribute__ ((unused)), unsign
   };
 
   char buffer[4096];
-  struct nlmsghdr *nlh = (struct nlmsghdr *)(ARM_NOWARN_ALIGN) buffer;
+  struct nlmsghdr *nlh = (struct nlmsghdr *)ARM_NOWARN_ALIGN(buffer);
   int ret;
 
   iov.iov_base = (void *) buffer;
@@ -192,7 +192,7 @@ static void rtnetlink_read(int sock, void *data __attribute__ ((unused)), unsign
 static void
 olsr_netlink_addreq(struct nlmsghdr *n, size_t reqSize __attribute__ ((unused)), int type, const void *data, int len)
 {
-  struct rtattr *rta = (struct rtattr *)(ARM_NOWARN_ALIGN)(((char *)n) + NLMSG_ALIGN(n->nlmsg_len));
+  struct rtattr *rta = (struct rtattr *)ARM_NOWARN_ALIGN(((char *)n) + NLMSG_ALIGN(n->nlmsg_len));
   n->nlmsg_len = NLMSG_ALIGN(n->nlmsg_len) + RTA_LENGTH(len);
   //produces strange compile error
   //assert(n->nlmsg_len < reqSize);
@@ -239,7 +239,7 @@ olsr_netlink_send(struct nlmsghdr *nl_hdr)
     return -1;
   }
 
-  h = (struct nlmsghdr *)(ARM_NOWARN_ALIGN)rcvbuf;
+  h = (struct nlmsghdr *)ARM_NOWARN_ALIGN(rcvbuf);
   if (!NLMSG_OK(h, (unsigned int)ret)) {
     olsr_syslog(OLSR_LOG_ERR, "Received netlink message was malformed (ret=%d, %u)", ret, h->nlmsg_len);
     return -1;
index a354b7d..86eb7c8 100644 (file)
@@ -292,7 +292,7 @@ serialize_common(struct olsr_common *comm)
 {
   if (olsr_cnf->ip_version == AF_INET) {
     // serialize an IPv4 OLSR message header
-    struct olsr_header_v4 *olsr_head_v4 = (struct olsr_header_v4 *)(ARM_NOWARN_ALIGN)msg_buffer;
+    struct olsr_header_v4 *olsr_head_v4 = (struct olsr_header_v4 *)ARM_NOWARN_ALIGN(msg_buffer);
 
     olsr_head_v4->type = comm->type;
     olsr_head_v4->vtime = reltime_to_me(comm->vtime);
@@ -305,7 +305,7 @@ serialize_common(struct olsr_common *comm)
     olsr_head_v4->seqno = htons(get_msg_seqno());
   } else {
     // serialize an IPv6 OLSR message header
-    struct olsr_header_v6 *olsr_head_v6 = (struct olsr_header_v6 *)(ARM_NOWARN_ALIGN)msg_buffer;
+    struct olsr_header_v6 *olsr_head_v6 = (struct olsr_header_v6 *)ARM_NOWARN_ALIGN(msg_buffer);
 
     olsr_head_v6->type = comm->type;
     olsr_head_v6->vtime = reltime_to_me(comm->vtime);
@@ -335,7 +335,7 @@ serialize_lq_hello(struct lq_hello_message *lq_hello, struct interface *outif)
 
   // initialize the LQ_HELLO header
 
-  struct lq_hello_header *head = (struct lq_hello_header *)(ARM_NOWARN_ALIGN)(msg_buffer + off);
+  struct lq_hello_header *head = (struct lq_hello_header *)ARM_NOWARN_ALIGN(msg_buffer + off);
 
   head->reserved = 0;
   head->htime = reltime_to_me(lq_hello->htime);
@@ -444,7 +444,7 @@ serialize_lq_hello(struct lq_hello_message *lq_hello, struct interface *outif)
         // create a new info header
 
         if (is_first) {
-          info_head = (struct lq_hello_info_header *)(ARM_NOWARN_ALIGN)(buff + size);
+          info_head = (struct lq_hello_info_header *)ARM_NOWARN_ALIGN(buff + size);
           size += sizeof(struct lq_hello_info_header);
 
           info_head->reserved = 0;
@@ -526,7 +526,7 @@ serialize_lq_tc(struct lq_tc_message *lq_tc, struct interface *outif)
 
   // initialize the LQ_TC header
 
-  head = (struct lq_tc_header *)(ARM_NOWARN_ALIGN)(msg_buffer + off);
+  head = (struct lq_tc_header *)ARM_NOWARN_ALIGN(msg_buffer + off);
 
   head->ansn = htons(lq_tc->ansn);
   head->lower_border = 0;
@@ -598,7 +598,7 @@ serialize_lq_tc(struct lq_tc_message *lq_tc, struct interface *outif)
     genipcopy(buff + size, &neigh->address);
 
     // remember last ip
-    last_ip = (union olsr_ip_addr *)(ARM_NOWARN_ALIGN)(buff + size);
+    last_ip = (union olsr_ip_addr *)ARM_NOWARN_ALIGN(buff + size);
 
     size += olsr_cnf->ipsize;
 
index fc7c5fb..bee2a5d 100644 (file)
@@ -247,7 +247,7 @@ olsr_cookie_malloc(struct olsr_cookie_info *ci)
    * indicating presence of a cookie. This will be checked against
    * When the block is freed to detect corruption.
    */
-  branding = (struct olsr_cookie_mem_brand *)(ARM_NOWARN_ALIGN)((unsigned char *)ptr + ci->ci_size);
+  branding = (struct olsr_cookie_mem_brand *)ARM_NOWARN_ALIGN(((unsigned char *)ptr + ci->ci_size));
   memcpy(&branding->cmb_sig, "cookie", 6);
   branding->cmb_id = ci->ci_id;
 
@@ -272,7 +272,7 @@ olsr_cookie_free(struct olsr_cookie_info *ci, void *ptr)
   struct list_node *free_list_node;
   bool reuse = false;
 
-  branding = (struct olsr_cookie_mem_brand *)(ARM_NOWARN_ALIGN)((unsigned char *)ptr + ci->ci_size);
+  branding = (struct olsr_cookie_mem_brand *)ARM_NOWARN_ALIGN(((unsigned char *)ptr + ci->ci_size));
 
   /*
    * Verify if there has been a memory overrun, or
index faa956d..bba0b7f 100644 (file)
@@ -279,7 +279,7 @@ print_olsr_tcmsg_lq(FILE * handle, uint8_t * data, int16_t totsize)
 
   while (remsize) {
     struct ipaddr_str buf;
-    fprintf(handle, "    +Neighbor: %s\n", olsr_ip_to_string(&buf, (union olsr_ip_addr *)(ARM_NOWARN_ALIGN)data));
+    fprintf(handle, "    +Neighbor: %s\n", olsr_ip_to_string(&buf, (union olsr_ip_addr *)ARM_NOWARN_ALIGN(data)));
     data += olsr_cnf->ipsize;
     fprintf(handle, "    +LQ: %d, ", *data);
     data += 1;
@@ -302,7 +302,7 @@ print_olsr_tcmsg(FILE * handle, uint8_t * data, int16_t totsize)
 
   while (remsize) {
     struct ipaddr_str buf;
-    fprintf(handle, "    +Neighbor: %s\n", olsr_ip_to_string(&buf, (union olsr_ip_addr *)(ARM_NOWARN_ALIGN)data));
+    fprintf(handle, "    +Neighbor: %s\n", olsr_ip_to_string(&buf, (union olsr_ip_addr *)ARM_NOWARN_ALIGN(data)));
     data += olsr_cnf->ipsize;
 
     remsize -= olsr_cnf->ipsize;
@@ -317,9 +317,9 @@ print_hnamsg(FILE * handle, uint8_t * data, int16_t totsize)
 
   while (remsize) {
     struct ipaddr_str buf;
-    fprintf(handle, "    +Network: %s\n", olsr_ip_to_string(&buf, (union olsr_ip_addr *)(ARM_NOWARN_ALIGN)data));
+    fprintf(handle, "    +Network: %s\n", olsr_ip_to_string(&buf, (union olsr_ip_addr *)ARM_NOWARN_ALIGN(data)));
     data += olsr_cnf->ipsize;
-    fprintf(handle, "    +Netmask: %s\n", olsr_ip_to_string(&buf, (union olsr_ip_addr *)(ARM_NOWARN_ALIGN)data));
+    fprintf(handle, "    +Netmask: %s\n", olsr_ip_to_string(&buf, (union olsr_ip_addr *)ARM_NOWARN_ALIGN(data)));
     data += olsr_cnf->ipsize;
 
     remsize -= (olsr_cnf->ipsize * 2);
@@ -334,7 +334,7 @@ print_midmsg(FILE * handle, uint8_t * data, int16_t totsize)
 
   while (remsize) {
     struct ipaddr_str buf;
-    fprintf(handle, "    +Alias: %s\n", olsr_ip_to_string(&buf, (union olsr_ip_addr *)(ARM_NOWARN_ALIGN)data));
+    fprintf(handle, "    +Alias: %s\n", olsr_ip_to_string(&buf, (union olsr_ip_addr *)ARM_NOWARN_ALIGN(data)));
     data += olsr_cnf->ipsize;
     remsize -= olsr_cnf->ipsize;
   }
index 4ccfe4e..0b889db 100644 (file)
@@ -286,14 +286,14 @@ chk_if_changed(struct olsr_if *iface)
 #endif
 
     if (memcmp
-        (&((struct sockaddr_in *)(ARM_NOWARN_ALIGN)&ifp->int_addr)->sin_addr.s_addr, &((struct sockaddr_in *)(ARM_NOWARN_ALIGN)&ifr.ifr_addr)->sin_addr.s_addr,
+        (&((struct sockaddr_in *)ARM_NOWARN_ALIGN(&ifp->int_addr))->sin_addr.s_addr, &((struct sockaddr_in *)ARM_NOWARN_ALIGN(&ifr.ifr_addr))->sin_addr.s_addr,
          olsr_cnf->ipsize) != 0) {
       /* New address */
       OLSR_PRINTF(1, "IPv4 address changed for %s\n", ifr.ifr_name);
       OLSR_PRINTF(1, "\tOld:%s\n", ip4_to_string(&buf, ifp->int_addr.sin_addr));
       OLSR_PRINTF(1, "\tNew:%s\n", sockaddr4_to_string(&buf, &ifr.ifr_addr));
 
-      ifp->int_addr = *(struct sockaddr_in *)(ARM_NOWARN_ALIGN)&ifr.ifr_addr;
+      ifp->int_addr = *(struct sockaddr_in *)ARM_NOWARN_ALIGN(&ifr.ifr_addr);
       /* deactivated to prevent change of originator IP */
 #if 0
       if (memcmp(&olsr_cnf->main_addr, &ifp->ip_addr, olsr_cnf->ipsize) == 0) {
@@ -302,7 +302,7 @@ chk_if_changed(struct olsr_if *iface)
         memcpy(&olsr_cnf->main_addr, &((struct sockaddr_in *)&ifr.ifr_addr)->sin_addr.s_addr, olsr_cnf->ipsize);
       }
 #endif
-      memcpy(&ifp->ip_addr, &((struct sockaddr_in *)(ARM_NOWARN_ALIGN)&ifr.ifr_addr)->sin_addr.s_addr, olsr_cnf->ipsize);
+      memcpy(&ifp->ip_addr, &((struct sockaddr_in *)ARM_NOWARN_ALIGN(&ifr.ifr_addr))->sin_addr.s_addr, olsr_cnf->ipsize);
 
       if_changes = 1;
     }
@@ -317,14 +317,14 @@ chk_if_changed(struct olsr_if *iface)
 #endif
 
     if (memcmp
-        (&((struct sockaddr_in *)(ARM_NOWARN_ALIGN)&ifp->int_netmask)->sin_addr.s_addr, &((struct sockaddr_in *)(ARM_NOWARN_ALIGN)&ifr.ifr_netmask)->sin_addr.s_addr,
+        (&((struct sockaddr_in *)ARM_NOWARN_ALIGN(&ifp->int_netmask))->sin_addr.s_addr, &((struct sockaddr_in *)ARM_NOWARN_ALIGN(&ifr.ifr_netmask))->sin_addr.s_addr,
          olsr_cnf->ipsize) != 0) {
       /* New address */
       OLSR_PRINTF(1, "IPv4 netmask changed for %s\n", ifr.ifr_name);
       OLSR_PRINTF(1, "\tOld:%s\n", ip4_to_string(&buf, ifp->int_netmask.sin_addr));
       OLSR_PRINTF(1, "\tNew:%s\n", sockaddr4_to_string(&buf, &ifr.ifr_netmask));
 
-      ifp->int_netmask = *(struct sockaddr_in *)(ARM_NOWARN_ALIGN)&ifr.ifr_netmask;
+      ifp->int_netmask = *(struct sockaddr_in *)ARM_NOWARN_ALIGN(&ifr.ifr_netmask);
 
       if_changes = 1;
     }
@@ -339,13 +339,13 @@ chk_if_changed(struct olsr_if *iface)
       OLSR_PRINTF(3, "\tBroadcast address:%s\n", sockaddr4_to_string(&buf, &ifr.ifr_broadaddr));
 #endif
 
-      if (ifp->int_broadaddr.sin_addr.s_addr != ((struct sockaddr_in *)(ARM_NOWARN_ALIGN)&ifr.ifr_broadaddr)->sin_addr.s_addr) {
+      if (ifp->int_broadaddr.sin_addr.s_addr != ((struct sockaddr_in *)ARM_NOWARN_ALIGN(&ifr.ifr_broadaddr))->sin_addr.s_addr) {
         /* New address */
         OLSR_PRINTF(1, "IPv4 broadcast changed for %s\n", ifr.ifr_name);
         OLSR_PRINTF(1, "\tOld:%s\n", ip4_to_string(&buf, ifp->int_broadaddr.sin_addr));
         OLSR_PRINTF(1, "\tNew:%s\n", sockaddr4_to_string(&buf, &ifr.ifr_broadaddr));
 
-        ifp->int_broadaddr = *(struct sockaddr_in *)(ARM_NOWARN_ALIGN)&ifr.ifr_broadaddr;
+        ifp->int_broadaddr = *(struct sockaddr_in *)ARM_NOWARN_ALIGN(&ifr.ifr_broadaddr);
         if_changes = 1;
       }
     }
@@ -634,7 +634,7 @@ chk_if_up(struct olsr_if *iface, int debuglvl __attribute__ ((unused)))
         return 0;
       }
 
-      ifs.int_addr = *(struct sockaddr_in *)(ARM_NOWARN_ALIGN)&ifr.ifr_addr;
+      ifs.int_addr = *(struct sockaddr_in *)ARM_NOWARN_ALIGN(&ifr.ifr_addr);
     }
     /* Find netmask */
     if (ioctl(olsr_cnf->ioctl_s, SIOCGIFNETMASK, &ifr) < 0) {
@@ -642,7 +642,7 @@ chk_if_up(struct olsr_if *iface, int debuglvl __attribute__ ((unused)))
       return 0;
     }
 
-    ifs.int_netmask = *(struct sockaddr_in *)(ARM_NOWARN_ALIGN)&ifr.ifr_netmask;
+    ifs.int_netmask = *(struct sockaddr_in *)ARM_NOWARN_ALIGN(&ifr.ifr_netmask);
 
     /* Find broadcast address */
     if (iface->cnf->ipv4_multicast.v4.s_addr) {
@@ -655,7 +655,7 @@ chk_if_up(struct olsr_if *iface, int debuglvl __attribute__ ((unused)))
         return 0;
       }
 
-      ifs.int_broadaddr = *(struct sockaddr_in *)(ARM_NOWARN_ALIGN)&ifr.ifr_broadaddr;
+      ifs.int_broadaddr = *(struct sockaddr_in *)ARM_NOWARN_ALIGN(&ifr.ifr_broadaddr);
     }
 
     /* Deactivate IP spoof filter */