From 92bdf9f72f6f9aae3de0115b7ac8c6037ef95ca1 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Thu, 16 Jun 2005 00:09:18 +0000 Subject: [PATCH] don't redeclare struct tm if it's already declared in std headers; declare and define localtime() and company as extern C as they are supposed to be git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@34666 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- include/wx/msw/wince/time.h | 14 +++++++++++--- src/msw/wince/time.cpp | 8 ++++++++ 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/include/wx/msw/wince/time.h b/include/wx/msw/wince/time.h index f56f31bee8..983eaf3eed 100644 --- a/include/wx/msw/wince/time.h +++ b/include/wx/msw/wince/time.h @@ -7,6 +7,8 @@ #ifndef __WINCE_TIME_ #define __WINCE_TIME_ +#ifndef _TM_DEFINED + struct tm { int tm_sec; /* seconds after the minute - [0,59] */ int tm_min; /* minutes after the hour - [0,59] */ @@ -19,6 +21,9 @@ struct tm { int tm_isdst; /* daylight savings time flag */ }; +extern "C" +{ + struct tm * __cdecl localtime(const time_t *); time_t __cdecl time(time_t *); @@ -29,10 +34,13 @@ struct tm * __cdecl gmtime(const time_t *); #define _tcsftime wcsftime -size_t __cdecl wcsftime(wchar_t *, size_t, const wchar_t *, - const struct tm *); +size_t __cdecl wcsftime(wchar_t *, size_t, const wchar_t *, const struct tm *); + +} extern long timezone; -#endif +#endif // !_TM_DEFINED + +#endif // __WINCE_TIME_ diff --git a/src/msw/wince/time.cpp b/src/msw/wince/time.cpp index b09a02603d..aaab3ce887 100644 --- a/src/msw/wince/time.cpp +++ b/src/msw/wince/time.cpp @@ -99,6 +99,9 @@ static struct tm * __cdecl common_localtime(const time_t * WXUNUSED(t), BOOL bLo return res; } +extern "C" +{ + //////////////////////////////////////////////////////////////////////// // Receive the number of seconds elapsed since midnight(00:00:00) // and convert a time value and corrects for the local time zone @@ -117,6 +120,7 @@ struct tm * __cdecl gmtime(const time_t *t) return common_localtime(t, DO_GMTIME) ; } +} //////////////////////////////////////////////////////////////////////// // Common code for conversion of struct tm into time_t (static) @@ -145,6 +149,8 @@ static time_t __cdecl common_tm_to_time(int day, int month, int year, int hour, return prog ; } +extern "C" +{ //////////////////////////////////////////////////////////////////////// // Returns the number of seconds elapsed since @@ -183,3 +189,5 @@ size_t __cdecl wcsftime(wchar_t *, size_t, const wchar_t *, const struct tm *) return 0; } + +} // extern "C"