about summary refs log tree commit homepage
path: root/ext/clogger_ext/clogger.c
diff options
context:
space:
mode:
authorEric Wong <normalperson@yhbt.net>2011-06-22 13:55:25 -0700
committerEric Wong <normalperson@yhbt.net>2011-06-22 14:06:04 -0700
commit7e3694c6de13fc3d635473d3150412cbda287e75 (patch)
tree7c033f5ad108ac20c0612338db8d2760780f4055 /ext/clogger_ext/clogger.c
parent5979a9b113815721140058d021ecfffc5c529de4 (diff)
downloadclogger-7e3694c6de13fc3d635473d3150412cbda287e75.tar.gz
Some Ruby installs muck up headers/#defines and cause weirdness.
We now explicitly define _BSD_SOURCE and include #stdio.h
Diffstat (limited to 'ext/clogger_ext/clogger.c')
-rw-r--r--ext/clogger_ext/clogger.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/ext/clogger_ext/clogger.c b/ext/clogger_ext/clogger.c
index eb1605b..e8cbfdc 100644
--- a/ext/clogger_ext/clogger.c
+++ b/ext/clogger_ext/clogger.c
@@ -18,6 +18,7 @@
 #endif
 #include <time.h>
 #include <stdlib.h>
+#include <stdio.h>                /* snprintf */
 #include "ruby_1_9_compat.h"
 #include "broken_system_compat.h"
 #include "blocking_helpers.h"
@@ -453,7 +454,12 @@ static long local_gmtoffset(struct tm *tm)
 
         tzset();
         localtime_r(&t, tm);
-#if defined(HAVE_STRUCT_TM_TM_GMTOFF)
+
+/*
+ * HAVE_STRUCT_TM_TM_GMTOFF may be defined in Ruby headers
+ * HAVE_ST_TM_GMTOFF is defined ourselves.
+ */
+#if defined(HAVE_STRUCT_TM_TM_GMTOFF) || defined(HAVE_ST_TM_GMTOFF)
         return tm->tm_gmtoff / 60;
 #else
         return -(tm->tm_isdst ? timezone - 3600 : timezone) / 60;