Stop using inline, get restrict from autoconf.
authorEmil Mikulic <emikulic@gmail.com>
Sat, 27 Dec 2014 09:38:59 +0000 (20:38 +1100)
committerEmil Mikulic <emikulic@gmail.com>
Sat, 27 Dec 2014 09:38:59 +0000 (20:38 +1100)
cdefs.h
configure.ac
db.c
hosts_db.c

diff --git a/cdefs.h b/cdefs.h
index 2bcdf31..05c8172 100644 (file)
--- a/cdefs.h
+++ b/cdefs.h
 # define _printflike_(fmtarg, firstvararg)
 #endif
 
-#if __GNUC__ == 2
-# define inline __inline__
-#else
-# ifdef __TenDRA__
-#  define inline __inline
-# endif
-#endif
-
-#if !defined(__STDC_VERSION__) || __STDC_VERSION__ < 199901
-# define restrict __restrict
-#endif
-
 #ifndef MAX
 # define MAX(a,b) ((a) > (b) ? (a) : (b))
 #endif
index a981bde..479471d 100644 (file)
@@ -17,6 +17,9 @@ AC_DEFINE_UNQUOTED(PRIVDROP_USER, "$_pdu", [User to privdrop to.])
 AC_PROG_INSTALL
 AC_PROG_CC
 
+# Compiler's language features.
+AC_C_RESTRICT
+
 m4_pattern_allow([^AM_DEFAULT_VERBOSITY$])
 AC_ARG_ENABLE([silent-rules],
 [  --enable-silent-rules          less verbose build output (undo: 'make V=1')
diff --git a/db.c b/db.c
index cadd26e..201d110 100644 (file)
--- a/db.c
+++ b/db.c
@@ -16,7 +16,6 @@
 #include <string.h>
 #include <unistd.h>
 
-#include "cdefs.h"
 #include "err.h"
 #include "hosts_db.h"
 #include "graph_db.h"
@@ -39,7 +38,7 @@ static uint64_t swap64(uint64_t _x) {
 #endif
 
 #define ntoh64 hton64
-static inline uint64_t hton64(const uint64_t ho) {
+static uint64_t hton64(const uint64_t ho) {
    if (ntohs(0x1234) == 0x1234)
       return ho;
    else
index 2c695b9..58ef6a6 100644 (file)
@@ -91,9 +91,7 @@ static const double phi_1 =
    0.61803398874989490252573887119069695472717285156250;
 
 /* Co-prime of u, using phi^-1 */
-inline static uint32_t
-coprime(const uint32_t u)
-{
+static uint32_t coprime(const uint32_t u) {
    return ( (uint32_t)( (double)(u) * phi_1 ) | 1U );
 }
 
@@ -101,9 +99,7 @@ coprime(const uint32_t u)
  * This is the "recommended" IPv4 hash function, as seen in FreeBSD's
  * src/sys/netinet/tcp_hostcache.c 1.1
  */
-inline static uint32_t
-ipv4_hash(const struct addr *const a)
-{
+static uint32_t ipv4_hash(const struct addr *const a) {
    uint32_t ip = a->ip.v4;
    return ( (ip) ^ ((ip) >> 7) ^ ((ip) >> 17) );
 }
@@ -125,9 +121,7 @@ ipv4_hash(const struct addr *const a)
  * This is the IPv6 hash function used by FreeBSD in the same file as above,
  * svn rev 122922.
  */
-inline static uint32_t
-ipv6_hash(const struct addr *const a)
-{
+static uint32_t ipv6_hash(const struct addr *const a) {
    const struct in6_addr *const ip6 = &(a->ip.v6);
    return ( ip6->s6_addr32[0] ^ ip6->s6_addr32[1] ^
             ip6->s6_addr32[2] ^ ip6->s6_addr32[3] );