]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/wince/time.cpp
document On{Open,Save}Document()
[wxWidgets.git] / src / msw / wince / time.cpp
index 965502e15b724fc12bbd68978ffbdcac23ead98c..6e6915b819b2a3d2bed9ec50448f2ef3b1848b0a 100644 (file)
@@ -2,9 +2,9 @@
 // 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                             //
@@ -445,12 +469,9 @@ label:
                                continue;
                        case 'z':
                                {
-                               int             diff;
+                               int             diff = -timezone;
                                char const *    sign;
 
-                               if (t->tm_isdst < 0)
-                                       continue;
-                continue;
                                if (diff < 0) {
                                        sign = "-";
                                        diff = -diff;
@@ -500,6 +521,8 @@ strftime(char * const s, const size_t maxsize, const char *format, const struct
 extern "C"
 {
 
+/* Not needed in VS Studio 2005 */
+
 size_t wcsftime(wchar_t *s,
                 const size_t maxsize,
                 const wchar_t *format,
@@ -510,7 +533,7 @@ size_t wcsftime(wchar_t *s,
     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);
 
@@ -736,4 +759,4 @@ time_t __cdecl mktime(struct tm *t)
 
 } // extern "C"
 
-
+#endif // VC8/!VC8