// Name: src/msw/wince/time.cpp
// Purpose: Implements missing time functionality for WinCE
// Author: Marco Cavallini (MCK) - wx@koansoftware.com
-// Modified by:
+// Modified by: Vadim Zeitlin for VC8 support
// Created: 31-08-2003
-// RCS-ID:
+// RCS-ID: $Id$
// Copyright: (c) Marco Cavallini
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#include "wx/msw/wince/time.h"
+#if defined(__VISUALC__) && (__VISUALC__ >= 1400)
+
+// VC8 does provide the time functions but not the standard ones
+#include <altcecrt.h>
+
+time_t __cdecl time(time_t *t)
+{
+ __time64_t t64;
+ if ( !_time64(&t64) )
+ return (time_t)-1;
+
+ if ( t )
+ *t = (time_t)t64;
+
+ return (time_t)t64;
+}
+
+time_t __cdecl mktime(struct tm *t)
+{
+ return (time_t)_mktime64(t);
+}
+
+#else // !VC8
+
/////////////////////////////////////////////////////////////////////////////////////////////
// //
// strftime() - taken from OpenBSD //
continue;
case 'z':
{
- int diff;
+ int diff = -timezone;
char const * sign;
- if (t->tm_isdst < 0)
- continue;
- continue;
if (diff < 0) {
sign = "-";
diff = -diff;
extern "C"
{
+/* Not needed in VS Studio 2005 */
+
size_t wcsftime(wchar_t *s,
const size_t maxsize,
const wchar_t *format,
wxString formatStr(format);
wxCharBuffer bufFormatStr(formatStr.mb_str());
- size_t sz = strftime(sBuf, maxsize/sizeof(wchar_t), bufFormatStr, t);
+ size_t sz = strftime(sBuf.data(), maxsize/sizeof(wchar_t), bufFormatStr, t);
wxMB2WC(s, sBuf, maxsize);
} // extern "C"
-
+#endif // VC8/!VC8