]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/db.h
don't crash if (char*)c_str() is used twice in a row on the same string and both...
[wxWidgets.git] / include / wx / db.h
index 41c63267fe7834205982029f7c34c2115f88d0b6..13c882cdea40819be8083b8c0b6e712d8d7bd65a 100644 (file)
@@ -57,7 +57,7 @@
     //#endif
     #include "odbcinst.h"
 #else
-    #if defined(__WINDOWS__) && ( defined(HAVE_W32API_H) || defined(__BORLANDC__) )
+    #if defined(__WINDOWS__) && ( defined(HAVE_W32API_H) || defined(__BORLANDC__)  || defined (__DMC__))
         #include "wx/msw/wrapwin.h"
     #endif
     extern "C" {
           typedef UCHAR SQLTCHAR;
           #endif
         #endif
-    #else
-      #if defined( __WXMOTIF__ ) && defined( __VMS )
-       // solves a type definition mismatch between IODBC and MOTIF on OpenVMS
-      #define BOOL int
-      #endif
+    #else // !wxUSE_BUILTIN_IODBC
+        // SQL headers define BOOL if it's not defined yet but BOOL is also
+        // defined in many other places on other systems (Motif, at least on
+        // OpenVMS; Cocoa and X11) so prevent the problem by defining it before
+        // including these headers
+        #define BOOL int
         #include <sql.h>
         #include <sqlext.h>
-        //#if wxUSE_UNICODE
-        //    #include <sqlucode.h>
-        //#endif
-      #if defined( __WXMOTIF__ ) && defined( __VMS )
-      #undef BOOL
-      #endif
-    #endif
+        #undef BOOL
+    #endif // wxUSE_BUILTIN_IODBC/!wxUSE_BUILTIN_IODBC
     }
 #endif
 
@@ -529,7 +525,7 @@ private:
     bool             getDataTypeInfo(SWORD fSqlType, wxDbSqlTypeInfo &structSQLTypeInfo);
     bool             setConnectionOptions(void);
     void             logError(const wxString &errMsg, const wxString &SQLState);
-    const wxChar    *convertUserID(const wxChar *userID, wxString &UserID);
+    void             convertUserID(const wxChar *userID, wxString &UserID);
     bool             determineDataTypes(bool failOnDataTypeUnsupported);
     void             initialize();
     bool             open(bool failOnDataTypeUnsupported=true);