Pārlūkot izejas kodu

Fix compilation of timeout.c with our flags and warnings.

Nick Mathewson 8 gadi atpakaļ
vecāks
revīzija
9d6c530015

+ 6 - 1
src/ext/timeouts/timeout-bitops.c

@@ -1,4 +1,5 @@
 #include <stdint.h>
+#include <limits.h>
 #ifdef _MSC_VER
 #include <intrin.h>     /* _BitScanForward, _BitScanReverse */
 #endif
@@ -7,12 +8,16 @@
  * you want them to be fast. */
 #if defined(__GNUC__) && !defined(TIMEOUT_DISABLE_GNUC_BITOPS)
 
+#ifndef LONG_BIT
+#define LONG_BIT (SIZEOF_LONG*CHAR_BIT)
+#endif
+
 /* On GCC and clang and some others, we can use __builtin functions. They
  * are not defined for n==0, but timeout.s never calls them with n==0. */
 
 #define ctz64(n) __builtin_ctzll(n)
 #define clz64(n) __builtin_clzll(n)
-#if LONG_BITS == 32
+#if LONG_BIT == 32
 #define ctz32(n) __builtin_ctzl(n)
 #define clz32(n) __builtin_clzl(n)
 #else

+ 7 - 0
src/ext/timeouts/timeout.c

@@ -23,6 +23,9 @@
  * USE OR OTHER DEALINGS IN THE SOFTWARE.
  * ==========================================================================
  */
+#ifdef HAVE_CONFIG_H
+#include "orconfig.h"
+#endif
 #include <limits.h>    /* CHAR_BIT */
 
 #include <stddef.h>    /* NULL */
@@ -39,6 +42,10 @@
 
 #include "timeout.h"
 
+#ifndef TIMEOUT_DEBUG
+#define TIMEOUT_DEBUG 0
+#endif
+
 #if TIMEOUT_DEBUG - 0
 #include "timeout-debug.h"
 #endif

+ 1 - 1
src/ext/timeouts/timeout.h

@@ -90,7 +90,7 @@ typedef uint64_t timeout_t;
 
 #ifndef TIMEOUT_CB_OVERRIDE
 struct timeout_cb {
-	void (*fn)();
+	void (*fn)(void);
 	void *arg;
 }; /* struct timeout_cb */
 #endif