]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/wxchar.cpp
Added machinery to Enable/Disable windows. When a window is disabled, it
[wxWidgets.git] / src / common / wxchar.cpp
index 6b2a005483c7cd0af6cc137d6627d79212cf19b1..d8772fce24a26304167775661e0c82f7f72c6f49 100644 (file)
@@ -9,7 +9,7 @@
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
   #pragma implementation "wxchar.h"
 #endif
 
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
-#include <locale.h>
+
+#ifndef __WXWINCE__
 #include <time.h>
+#include <locale.h>
+#else
+#include "wx/msw/wince/time.h"
+#endif
 
 #ifndef WX_PRECOMP
   #include "wx/defs.h"
@@ -1200,7 +1205,7 @@ WXDLLEXPORT long int wxStrtol(const wxChar *nptr, wxChar **endptr, int base)
 }
 #endif // wxNEED_WX_STRING_H
 
-#if defined(__WXMAC__) && !defined(__DARWIN__)
+#if defined(__WXMAC__) && !defined(__DARWIN__) && !defined(wxUSE_UNICODE)
 WXDLLEXPORT FILE * wxFopen(const wxChar *path, const wxChar *mode)
 {
     return fopen( wxMacStringToCString(path), mode );
@@ -1255,7 +1260,16 @@ WXDLLEXPORT int wxRename(const wxChar *oldpath, const wxChar *newpath)
 #ifndef wxAtof
 double   WXDLLEXPORT wxAtof(const wxChar *psz)
 {
-  return atof(wxConvLocal.cWX2MB(psz));
+#ifdef __WXWINCE__
+    double d;
+    wxString str(psz);
+    if (str.ToDouble(& d))
+        return d;
+    else
+        return 0.0;
+#else
+    return atof(wxConvLocal.cWX2MB(psz));
+#endif
 }
 #endif
 
@@ -1378,16 +1392,38 @@ WXDLLEXPORT wxChar * wxStrtok(wxChar *psz, const wxChar *delim, wxChar **save_pt
 // missing C RTL functions
 // ----------------------------------------------------------------------------
 
-#if defined( __MWERKS__ ) && !defined(__MACH__)
-#if __MSL__ < 0x00008000
+#if (defined(__MWERKS__) && !defined(__MACH__) && (__MSL__ < 0x00008000)) || \
+     defined(__WXWINCE__)
 char *strdup(const char *s)
 {
-        return strcpy( (char*) malloc( strlen( s ) + 1 ) , s ) ;
+    char *dest = (char*) malloc( strlen( s ) + 1 ) ;
+    if ( dest )
+        strcpy( dest , s ) ;
+    return dest ;
 }
 #endif
+
+#if (defined(__MWERKS__) && !defined(__MACH__)) || (defined(__WXWINCE__) && _WIN32_WCE <= 211)
+
 int isascii( int c )
 {
-        return ( c >= 0 && c < 128 ) ;
+    return ( c >= 0 && c < 128 );
 }
-#endif // __MWERKS__
+#endif
 
+#if defined(__WXWINCE__)
+void *calloc( size_t num, size_t size )
+{
+    void** ptr = (void **)malloc(num * size);
+    memset( ptr, 0, num * size);
+    return ptr;
+}
+
+#if (_WIN32_WCE <= 211)
+int isspace(int c)
+{
+    return (c == ' ');
+}
+#endif
+
+#endif