summaryrefslogtreecommitdiff
path: root/lib/zebra.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/zebra.h')
-rw-r--r--lib/zebra.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/lib/zebra.h b/lib/zebra.h
index 43ab4309c2..b96fb5a206 100644
--- a/lib/zebra.h
+++ b/lib/zebra.h
@@ -232,6 +232,15 @@ typedef unsigned char uint8_t;
#include "zassert.h"
+/*
+ * Add explicit static cast only when using a C++ compiler.
+ */
+#ifdef __cplusplus
+#define static_cast(l, r) static_cast<decltype(l)>((r))
+#else
+#define static_cast(l, r) (r)
+#endif
+
#ifndef HAVE_STRLCAT
size_t strlcat(char *__restrict dest,
const char *__restrict src, size_t destsize);