From b9e63fa4b905f6854ae2c9d39840a3f375ce7ace Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?U-WIN-U2045GN0RNQ=5CV=C3=ADtor=20Santos=20Costa?= Date: Tue, 20 Jul 2010 13:42:35 +0100 Subject: [PATCH] fixes for WIN32 --- packages/tai/Makefile.in | 2 +- packages/tai/libtai/tai.h | 2 +- packages/tai/pl-tai.c | 18 ++++++++++++++++-- 3 files changed, 18 insertions(+), 4 deletions(-) mode change 100644 => 100755 packages/tai/Makefile.in mode change 100644 => 100755 packages/tai/libtai/tai.h mode change 100644 => 100755 packages/tai/pl-tai.c diff --git a/packages/tai/Makefile.in b/packages/tai/Makefile.in old mode 100644 new mode 100755 index 8a2f9110a..7953f9513 --- a/packages/tai/Makefile.in +++ b/packages/tai/Makefile.in @@ -48,7 +48,7 @@ pl-tai.o: $(srcdir)/pl-tai.c $(CC) -c $(CFLAGS) $(srcdir)/pl-tai.c -o pl-tai.o @DO_SECOND_LD@pl-tai.@SO@: pl-tai.o -@DO_SECOND_LD@ @SHLIB_LD@ -o pl-tai.@SO@ pl-tai.o libtai/libtai.a @EXTRA_LIBS_FOR_DLLS@ +@DO_SECOND_LD@ @SHLIB_LD@ -o pl-tai.@SO@ pl-tai.o libtai/libtai.a @EXTRA_LIBS_FOR_SWIDLLS@ install: all $(INSTALL_PROGRAM) $(SOBJS) $(DESTDIR)$(YAPLIBDIR) diff --git a/packages/tai/libtai/tai.h b/packages/tai/libtai/tai.h old mode 100644 new mode 100755 index b3fd2da32..e3d22e8cf --- a/packages/tai/libtai/tai.h +++ b/packages/tai/libtai/tai.h @@ -8,7 +8,7 @@ typedef unsigned __int64 uint64_t; #include /* more portable than stdint.h */ #endif -#ifdef __WINDOWS__ +#if defined(__WINDOWS__) && !defined(__GNUC__) #define LL(x) x ## i64 #define ULL(x) x ## ui64 #else diff --git a/packages/tai/pl-tai.c b/packages/tai/pl-tai.c old mode 100644 new mode 100755 index ca1f441d1..64b84ac02 --- a/packages/tai/pl-tai.c +++ b/packages/tai/pl-tai.c @@ -38,9 +38,23 @@ is supposed to give the POSIX standard one. #include #include -#if defined(__WINDOWS__) || defined (__CYGWIN__) +#if defined(__WINDOWS__) || defined (__CYGWIN__) || defined (__MINGW32__) #define timezone _timezone -#define HAVE_VAR_TIMEZONE +#ifndef _POSIX +#endif +#define localtime_r(_Time, _Tm) ({ struct tm *___tmp_tm = \ + localtime((_Time)); \ + if (___tmp_tm) { \ + *(_Tm) = *___tmp_tm; \ + ___tmp_tm = (_Tm); \ + } \ + ___tmp_tm; }) +#define asctime_r(_Tm, _Buf) ({ char *___tmp_tm = asctime((_Tm)); \ + if (___tmp_tm) \ + ___tmp_tm = \ + strcpy((_Buf),___tmp_tm);\ + ___tmp_tm; }) +#include #else extern char *tzname[2]; #ifdef HAVE_VAR_TIMEZONE