summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEneas U de Queiroz2018-12-14 17:13:41 +0000
committerHans Dedecker2018-12-16 09:36:49 +0000
commit722151f04348cf1b759613c087bced52fb45790a (patch)
tree6baf25342e9eb77cdf37445559cf35b23ce1ce95
parent1fe6f48f8a5067685cbcf6427baf1b3e8b889da1 (diff)
downloadomcproxy-722151f04348cf1b759613c087bced52fb45790a.tar.gz
mrib.c: don't use cpu_to_be32 outside of function
cpu_to_be32 is not a constant, so it can't be used outside of a function. Signed-off-by: Eneas U de Queiroz <cote2004-github@yahoo.com>
-rw-r--r--src/mrib.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/mrib.c b/src/mrib.c
index 476768b..bdb4493 100644
--- a/src/mrib.c
+++ b/src/mrib.c
@@ -21,6 +21,7 @@
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
+#include <endian.h>
#include <sys/socket.h>
#include <sys/ioctl.h>
#include <unistd.h>
@@ -54,7 +55,13 @@ struct mrib_iface {
struct uloop_timeout timer;
};
-static uint32_t ipv4_rtr_alert = cpu_to_be32(0x94040000);
+/* we can't use cpu_to_be32 outside a function */
+#if __BYTE_ORDER == __BIG_ENDIAN
+static uint32_t ipv4_rtr_alert = 0x94040000;
+#else
+static uint32_t ipv4_rtr_alert = 0x00000494;
+#endif
+
static struct {
struct ip6_hbh hdr;
struct ip6_opt_router rt;