Modified:
CreateMakefiles.bat
CreateVisualStudioProjects.bat
MYODBCC/CMakeLists.txt
MYODBCC/MYODBCC.pro
MYODBCC/MYODBCCLib/CMakeLists.txt
MYODBCC/include/MYODBCC.h
MYODBCDbg/MYODBCDbgLib/MYODBCDbg.cpp
MYODBCDbg/MYODBCDbgTest/MYODBCDbgTest.cpp
MYODBCDbg/include/MYODBCDbg.h
MYODBCIns/MYODBCInsLib/MYODBCIns.cpp
MYODBCIns/MYODBCInsLib/MYODBCInsDataSource.cpp
MYODBCIns/MYODBCInsLib/MYODBCInsDriver.cpp
MYODBCIns/MYODBCInsLib/MYODBCInsDriverConnect.cpp
MYODBCIns/MYODBCInsLib/MYODBCInsLib.pro
MYODBCIns/MYODBCInsTest/MYODBCInsTest.cpp
MYODBCIns/MYODBCInsTest/MYODBCInsTest.pro
MYODBCIns/include/MYODBCIns.h
MYODBCIns/include/MYODBCInsDataSource.h
MYODBCIns/include/MYODBCInsDriver.h
MYODBCTst/MYODBCTst.vpj
MYODBCTst/MYODBCTstLib/MYODBCTstAllocHandle.c
MYODBCTst/MYODBCTstLib/MYODBCTstCloseCursor.c
MYODBCTst/MYODBCTstLib/MYODBCTstColumns.c
MYODBCTst/MYODBCTstLib/MYODBCTstConnect.c
MYODBCTst/MYODBCTstLib/MYODBCTstDisconnect.c
MYODBCTst/MYODBCTstLib/MYODBCTstDriverConnect.c
MYODBCTst/MYODBCTstLib/MYODBCTstDump.c
MYODBCTst/MYODBCTstLib/MYODBCTstExecDirect.c
MYODBCTst/MYODBCTstLib/MYODBCTstExecute.c
MYODBCTst/MYODBCTstLib/MYODBCTstFetch.c
MYODBCTst/MYODBCTstLib/MYODBCTstForeignKeys.c
MYODBCTst/MYODBCTstLib/MYODBCTstFreeHandle.c
MYODBCTst/MYODBCTstLib/MYODBCTstGetData.c
MYODBCTst/MYODBCTstLib/MYODBCTstGetTypeInfo.c
MYODBCTst/MYODBCTstLib/MYODBCTstNumResultCols.c
MYODBCTst/MYODBCTstLib/MYODBCTstPrepare.c
MYODBCTst/MYODBCTstLib/MYODBCTstPrimaryKeys.c
MYODBCTst/MYODBCTstLib/MYODBCTstPrintDiagnostics.c
MYODBCTst/MYODBCTstLib/MYODBCTstSetEnvAttr.c
MYODBCTst/MYODBCTstLib/MYODBCTstStatistics.c
MYODBCTst/MYODBCTstLib/MYODBCTstTables.c
MYODBCTst/include/MYODBCTst.h
defines.pri
doxygen.config
Log:
UNICODE:
- more porting issues (linux to XP)
- more of those incremental enhancements (MYODBCDbg & MYODBCIns)
- a bit more work needed to get MYODBCIns to pass post-build tests
Modified: CreateMakefiles.bat
===================================================================
--- CreateMakefiles.bat 2005-12-27 20:07:41 UTC (rev 18)
+++ CreateMakefiles.bat 2005-12-28 07:30:09 UTC (rev 19)
@@ -33,23 +33,13 @@
ECHO MYODBCDbg...
cd ..\..\MYODBCDbg\MYODBCDbgLib
qmake
+cd ..\MYODBCDbgTest
+qmake
ECHO MYODBCTst...
cd ..\..\MYODBCTst\MYODBCTstLib
qmake
-ECHO MYODBCArray...
-cd ..\..\MYODBCArray\MYODBCArrayLib
-qmake
-cd ..\MYODBCArrayTest
-qmake
-
-ECHO MYODBCList...
-cd ..\..\MYODBCList\MYODBCListLib
-qmake
-cd ..\MYODBCListTest
-qmake
-
ECHO MYODBCIns...
cd ..\..\MYODBCIns\MYODBCInsLib
qmake
Modified: CreateVisualStudioProjects.bat
===================================================================
--- CreateVisualStudioProjects.bat 2005-12-27 20:07:41 UTC (rev 18)
+++ CreateVisualStudioProjects.bat 2005-12-28 07:30:09 UTC (rev 19)
@@ -22,7 +22,7 @@
ECHO Creating Visual Studio project files...
ECHO MYODBCC...
-cd MYODBCC\MYODBCCLib
+cd MYODBCC\Lib
qmake -t vclib
cd ..\MYODBCCTest
qmake -t vcapp
Modified: MYODBCC/CMakeLists.txt
===================================================================
--- MYODBCC/CMakeLists.txt 2005-12-27 20:07:41 UTC (rev 18)
+++ MYODBCC/CMakeLists.txt 2005-12-28 07:30:09 UTC (rev 19)
@@ -1,3 +1,3 @@
PROJECT( MYODBCC )
-ADD_SUBDIRECTORY( MYODBCCLib )
+ADD_SUBDIRECTORY( Lib )
ADD_SUBDIRECTORY( MYODBCCTest )
Modified: MYODBCC/MYODBCC.pro
===================================================================
--- MYODBCC/MYODBCC.pro 2005-12-27 20:07:41 UTC (rev 18)
+++ MYODBCC/MYODBCC.pro 2005-12-28 07:30:09 UTC (rev 19)
@@ -1,5 +1,5 @@
TEMPLATE = subdirs
SUBDIRS = \
- MYODBCCLib \
+ Lib \
MYODBCCTest
Modified: MYODBCC/MYODBCCLib/CMakeLists.txt
===================================================================
--- MYODBCC/MYODBCCLib/CMakeLists.txt 2005-12-27 20:07:41 UTC (rev 18)
+++ MYODBCC/MYODBCCLib/CMakeLists.txt 2005-12-28 07:30:09 UTC (rev 19)
@@ -1,4 +1,4 @@
-PROJECT( MYODBCCLib )
+PROJECT( Lib )
ADD_LIBRARY( MYODBCC STATIC ../include/MYODBCC.h
MYODBCCInternal.h
Modified: MYODBCC/include/MYODBCC.h
===================================================================
--- MYODBCC/include/MYODBCC.h 2005-12-27 20:07:41 UTC (rev 18)
+++ MYODBCC/include/MYODBCC.h 2005-12-28 07:30:09 UTC (rev 19)
@@ -152,7 +152,6 @@
/* unicode aware (or not) */
#ifdef WIN32
- #define MYODBCCL _T
#define MYODBCCfprintf _ftprintf_s
#define MYODBCCstrlen wcslen
#else
@@ -461,7 +460,7 @@
*/
#define MYODBCCAssert(a1)\
{\
- MYODBCCfprintf( stderr, MYODBCCL("[ASSERT][%s][%d] %s\n"), __FILE__, __LINE__, a1 );\
+ MYODBCCfprintf( stderr, L"[ASSERT][%s][%d] %s\n", __FILE__, __LINE__, a1 );\
exit( 1 );\
}
@@ -482,13 +481,13 @@
(LPTSTR)&pszError,\
0,\
NULL );\
- MYODBCCfprintf( stderr, MYODBCCL("[%s][%d] %d: %s\n"), __FILE__, __LINE__, nError,
pszError );\
+ MYODBCCfprintf( stderr, L"[%s][%d] %d: %s\n", __FILE__, __LINE__, nError, pszError
);\
LocalFree( pszError );\
}
#else
#define MYODBCCPrintLastError()\
{\
- MYODBCCfprintf( stderr, MYODBCCL("[%s][%d] %d: %s\n"), __FILE__, __LINE__, xxxx, xxxx
);\
+ MYODBCCfprintf( stderr, L"[%s][%d] %d: %s\n", __FILE__, __LINE__, xxxx, xxxx );\
}
#endif
Modified: MYODBCDbg/MYODBCDbgLib/MYODBCDbg.cpp
===================================================================
--- MYODBCDbg/MYODBCDbgLib/MYODBCDbg.cpp 2005-12-27 20:07:41 UTC (rev 18)
+++ MYODBCDbg/MYODBCDbgLib/MYODBCDbg.cpp 2005-12-28 07:30:09 UTC (rev 19)
@@ -71,10 +71,10 @@
*/
void MYODBCDbg::doEnter( const char *pszFile, int nLine, const char *pszFunction )
{
- QString stringMessage;
-
- stringMessage.sprintf( "%s:%d: %s\n\t[ENTER ] ", pszFile, nLine, pszFunction );
- *this << stringMessage << endl;
+ *this << QString( "%1:%2: %3\n\t[ENTER ] " )
+ .arg( pszFile )
+ .arg( nLine )
+ .arg( pszFunction ) << endl;
}
/*!
@@ -94,11 +94,11 @@
*/
SQLRETURN MYODBCDbg::doReturn( const char *pszFile, int nLine, const char *pszFunction,
SQLRETURN nReturn )
{
- QString stringMessage;
+ *this << QString( "%1:%2: %3\n\t[RETURN ] " )
+ .arg( pszFile )
+ .arg( nLine )
+ .arg( pszFunction ) << getReturnString( nReturn ) << endl;
- stringMessage.sprintf( "%s:%d: %s\n\t[RETURN ] ", pszFile, nLine, pszFunction );
- *this << stringMessage << getReturnString( nReturn ) << endl;
-
return nReturn;
}
Modified: MYODBCDbg/MYODBCDbgTest/MYODBCDbgTest.cpp
===================================================================
--- MYODBCDbg/MYODBCDbgTest/MYODBCDbgTest.cpp 2005-12-27 20:07:41 UTC (rev 18)
+++ MYODBCDbg/MYODBCDbgTest/MYODBCDbgTest.cpp 2005-12-28 07:30:09 UTC (rev 19)
@@ -35,33 +35,61 @@
int (*pfunc)();
} TEST;
-/* MYODBCDbg */
+QString stringOutput;
+QString stringOutputExpected =\
+" [ENTER ] \n\
+.\\MYODBCDbgTest.cpp:61: test1\n\
+ [INFO ] \n\
+.\\MYODBCDbgTest.cpp:62: test1\n\
+ [INFO ] Got here\n\
+.\\MYODBCDbgTest.cpp:63: test1\n\
+ [INFO ] gpMYODBCDbg = 55\n\
+.\\MYODBCDbgTest.cpp:64: test1\n\
+ [ERROR ] Ooops\n\
+.\\MYODBCDbgTest.cpp:65: test1\n\
+ [WARNING] That smarts\n\
+.\\MYODBCDbgTest.cpp:67: test1\n\
+ [RETURN ] SQL_SUCCESS\n";
+
+/* create some output */
int test1()
{
+ int n = 55;
MYODBCDbgEnter();
MYODBCDbgPrint( "" );
MYODBCDbgPrint( "Got here" );
- MYODBCDbgPrint2( "gpMYODBCDbg = %p", gpMYODBCDbg )
+ MYODBCDbgPrint2( "gpMYODBCDbg = %d", n )
MYODBCDbgError( "Ooops" );
MYODBCDbgWarning( "That smarts");
MYODBCDbgReturn( SQL_SUCCESS );
}
+/* verify output */
+int test2()
+{
+ if ( stringOutput != stringOutputExpected )
+ return SQL_ERROR;
+
+ return SQL_SUCCESS;
+}
+
/* \todo The main thing here is that we build and execute ok - but in future read output
file to ensure that it is what we expect */
int main()
{
- TEST tests[2]=
+ TEST tests[3]=
{
- {"MYODBCDbg", test1},
+ {"test1", test1},
+ {"test2", test2},
{NULL, NULL}
};
int n;
int nReturn = 0;
- gpMYODBCDbg = new MYODBCDbg( stderr );
+// MYODBCDbgInit( stdout );
+ MYODBCDbgInit( &stringOutput );
for ( n = 0; tests[n].name; n++ )
{
@@ -77,8 +105,7 @@
}
testExit1:
- delete gpMYODBCDbg;
- gpMYODBCDbg = NULL;
+ MYODBCDbgFini();
return nReturn;
}
Modified: MYODBCDbg/include/MYODBCDbg.h
===================================================================
--- MYODBCDbg/include/MYODBCDbg.h 2005-12-27 20:07:41 UTC (rev 18)
+++ MYODBCDbg/include/MYODBCDbg.h 2005-12-28 07:30:09 UTC (rev 19)
@@ -81,6 +81,22 @@
*/
#if MYODBC_DBG > 0
+#define MYODBCDbgInit(A)\
+{\
+if ( gpMYODBCDbg )\
+ delete gpMYODBCDbg;\
+gpMYODBCDbg = new MYODBCDbg( A );\
+}
+
+#define MYODBCDbgFini()\
+{\
+if ( gpMYODBCDbg )\
+{\
+ delete gpMYODBCDbg;\
+ gpMYODBCDbg = NULL;\
+}\
+}
+
/*!
\brief Provides debug info indicating function entry.
@@ -162,6 +178,8 @@
#define MYODBCDbgReturn(A) return(gpMYODBCDbg ? gpMYODBCDbg->doReturn( __FILE__,
__LINE__, __FUNCTION__, A ) : A)
#else
+#define MYODBCDbgInit(A) {}
+#define MYODBCDbgFini() {}
#define MYODBCDbgEnter() {}
#define MYODBCDbgPrint(A) {}
#define MYODBCDbgPrint2(A,B) {}
Modified: MYODBCIns/MYODBCInsLib/MYODBCIns.cpp
===================================================================
--- MYODBCIns/MYODBCInsLib/MYODBCIns.cpp 2005-12-27 20:07:41 UTC (rev 18)
+++ MYODBCIns/MYODBCInsLib/MYODBCIns.cpp 2005-12-28 07:30:09 UTC (rev 19)
@@ -28,5 +28,211 @@
*/
#include "MYODBCInsInternal.h"
+RETCODE MYODBCIns::setError( const QString &stringMessage, DWORD nErrorCode )
+{
+ return SQLPostInstallerError( nErrorCode, stringMessage.utf16() );
+}
+/*!
+ \internal
+ \brief Get a list of installed drivers.
+
+ \note XP
+
+ SQLGetPrivateProfileString() with a NULL 1st arg does
+ not return anything - ever. To return a list of drivers
+ we can use SQLGetInstalledDrivers() instead.
+
+ \param
+
+ \returns
+*/
+QStringList MYODBCIns::getDriverNames()
+{
+ SQLWCHAR szBuffer[50000];
+ int nChars = 0;
+ int nChar = 0;
+ QStringList stringlistFriendlyNames;
+ QString stringFriendlyName = QString::null;
+
+ nChars = ( SQLGetInstalledDrivers( szBuffer, sizeof(szBuffer) / sizeof(SQLWCHAR),
NULL ) ? 1 : 0 );
+ if ( nChars < 1 )
+ {
+ MYODBCCfprintf( stderr, L"[%s][%d][INFO] Call returned no data. Could be an error
or just no data to return.\n", __FILE__, __LINE__ );
+ return stringlistFriendlyNames;
+ }
+
+ /*! \warning assumes that we are *not* using wide char :o */
+ for ( nChar = 0; nChar < nChars; nChar++ )
+ {
+ if ( szBuffer[nChar] )
+ {
+ stringFriendlyName += szBuffer[nChar];
+ }
+ else
+ {
+ if ( !stringFriendlyName.isEmpty() )
+ stringlistFriendlyNames += stringFriendlyName;
+ stringFriendlyName = QString::null;
+ /* check for end (double null) in case nChars is invalid */
+ if ( !szBuffer[nChar+1] )
+ break;
+ }
+ }
+
+ return stringlistFriendlyNames;
+}
+
+QStringList MYODBCIns::getDataSourceNames( MYODBC_INS_DATASOURCE_SCOPE nScope )
+{
+ SQLWCHAR szBuffer[50000];
+ int nChars = 0;
+ int nChar = 0;
+ QStringList stringlistFriendlyNames;
+ QString stringFriendlyName = QString::null;
+ UWORD nScopeToRestore = ODBC_BOTH_DSN;
+
+ if ( !SQLGetConfigMode( &nScopeToRestore ) )
+ return stringlistFriendlyNames;
+
+ SQLSetConfigMode( (UWORD)nScope );
+
+ nChars = SQLGetPrivateProfileString( NULL, NULL, L"", szBuffer, sizeof(szBuffer) /
sizeof(SQLWCHAR), L"ODBC.INI" );
+ if ( nChars < 1 )
+ goto getDataSourceNamesExit1;
+
+ /*! \warning assumes that we are *not* using wide char :o */
+ for ( nChar = 0; nChar < nChars; nChar++ )
+ {
+ if ( szBuffer[nChar] )
+ {
+ stringFriendlyName += szBuffer[nChar];
+ }
+ else
+ {
+ if ( !stringFriendlyName.isEmpty() )
+ stringlistFriendlyNames += stringFriendlyName;
+ stringFriendlyName = QString::null;
+ /* check for end (double null) in case nChars is invalid */
+ if ( !szBuffer[nChar+1] )
+ break;
+ }
+ }
+
+getDataSourceNamesExit1:
+ SQLSetConfigMode( nScopeToRestore );
+
+ return stringlistFriendlyNames;
+}
+
+RETCODE MYODBCIns::getError( WORD nError, DWORD *pnErrorCode, QString &stringMessage
)
+{
+ SQLWCHAR szMessage[32000];
+ WORD nMessageLen;
+
+ RETCODE nRetCode = SQLInstallerError( nError, pnErrorCode, szMessage,
sizeof(szMessage) / sizeof(SQLWCHAR), &nMessageLen );
+
+ if ( SQL_SUCCEEDED(nRetCode) )
+ stringMessage = QString::fromStdWString( szMessage );
+
+ return nRetCode;
+}
+
+QString MYODBCIns::getError( WORD nError )
+{
+ DWORD nErrorCode = 0;
+ QString stringMessage;
+ QString stringMessageEnhanced;
+ RETCODE nRetCode = getError( nError, &nErrorCode, stringMessage );
+
+ if ( SQL_SUCCEEDED(nRetCode) )
+ stringMessageEnhanced = QString( "%1 (%2)" )
+ .arg( nErrorCode )
+ .arg( stringMessage );
+
+ return stringMessageEnhanced;
+}
+
+QStringList MYODBCIns::getErrors()
+{
+ QStringList stringlistErrors;
+
+ /* 8 because this is max according to MS ver of ODBC spec */
+ for ( WORD nError = 1; nError <= 8; nError++ )
+ {
+ QString stringError = getError( nError );
+ if ( stringError.isEmpty() )
+ break;
+ stringlistErrors += stringError;
+ }
+
+ return stringlistErrors;
+}
+
+bool MYODBCIns::isExistsDataSourceName( const QString &stringDataSourceName,
MYODBC_INS_DATASOURCE_SCOPE nScope )
+{
+ SQLWCHAR szSectionNames[SQL_MAX_DSN_LENGTH * MYODBC_INS_MAX_DSN_NAMES];
+ SQLWCHAR * pszSectionName;
+ bool bReturn = false;
+ UWORD nScopeToRestore = ODBC_BOTH_DSN;
+
+ if ( !SQLGetConfigMode( &nScopeToRestore ) )
+ return bReturn;
+
+ if ( stringDataSourceName.isEmpty() )
+ return bReturn;
+
+ SQLSetConfigMode( (UWORD)nScope );
+
+ /*!
+ Get all section names. It would seem to be safest to get all sections
+ names and then scan the result for match rather than try to do this
+ with a single call to SQLGetPrivateProfileString() in off-chance that
+ the section name exists with no name/value pairs.
+ */
+
+#if defined(WIN32)
+ /*!
+ \note WIN
+
+ SQLGetPrivateProfileString does not work when NULL for first arg.
+ so we provide first arg and hope that there is at least one
+ attribute (its likley anyway).
+ */
+ if ( SQLGetPrivateProfileString( stringDataSourceName.utf16(), NULL, L"",
szSectionNames, sizeof(szSectionNames) / sizeof(SQLWCHAR), L"ODBC.INI" ) > 0 )
+ {
+ bReturn = true;
+ goto isExistsDataSourceNameExit1;
+ }
+ else
+ goto isExistsDataSourceNameExit1;
+#else
+ if ( SQLGetPrivateProfileString( NULL, NULL, L"", szSectionNames, sizeof(
szSectionNames ) / sizeof(SQLWCHAR), L"ODBC.INI" ) < 1 )
+ goto isExistsDataSourceNameExit1;
+#endif
+ /*!
+ Scan result and return MYODBC_C_TRUE if we find a match.
+ */
+ pszSectionName = szSectionNames;
+ while( *pszSectionName )
+ {
+ QString stringSectionName( QString::fromStdWString( pszSectionName ) );
+
+ if ( QString::localeAwareCompare( stringSectionName.toUpper(),
stringDataSourceName.toUpper() ) == 0 )
+ {
+ bReturn = true;
+ goto isExistsDataSourceNameExit1;
+ }
+ pszSectionName += MYODBCCstrlen( pszSectionName ) + 1;
+ }
+
+isExistsDataSourceNameExit1:
+ SQLSetConfigMode( nScopeToRestore );
+
+ return bReturn;
+}
+
+
+
+
Modified: MYODBCIns/MYODBCInsLib/MYODBCInsDataSource.cpp
===================================================================
--- MYODBCIns/MYODBCInsLib/MYODBCInsDataSource.cpp 2005-12-27 20:07:41 UTC (rev 18)
+++ MYODBCIns/MYODBCInsLib/MYODBCInsDataSource.cpp 2005-12-28 07:30:09 UTC (rev 19)
@@ -28,7 +28,7 @@
*/
#include "MYODBCInsInternal.h"
-#define MYODBC_INS_ODBCINI_HEADER_SECTION (LPWSTR)MYODBCCL("ODBC Data Sources")
+#define MYODBC_INS_ODBCINI_HEADER_SECTION L"ODBC Data Sources"
MYODBCInsDataSource::MYODBCInsDataSource( MYODBC_INS_DATASOURCE_MODE nMode )
{
@@ -194,111 +194,6 @@
return nScope;
}
-QStringList MYODBCInsDataSource::getDataSourceNames( MYODBC_INS_DATASOURCE_SCOPE nScope )
-{
- SQLWCHAR szBuffer[50000];
- int nChars = 0;
- int nChar = 0;
- QStringList stringlistFriendlyNames;
- QString stringFriendlyName = QString::null;
- UWORD nScopeToRestore = ODBC_BOTH_DSN;
-
- if ( !SQLGetConfigMode( &nScopeToRestore ) )
- return stringlistFriendlyNames;
-
- SQLSetConfigMode( (UWORD)nScope );
-
- nChars = SQLGetPrivateProfileString( NULL, NULL, (LPWSTR)MYODBCCL(""), szBuffer,
sizeof(szBuffer) / sizeof(SQLWCHAR), (LPWSTR)MYODBCCL("ODBC.INI") );
- if ( nChars < 1 )
- goto getDataSourceNamesExit1;
-
- /*! \warning assumes that we are *not* using wide char :o */
- for ( nChar = 0; nChar < nChars; nChar++ )
- {
- if ( szBuffer[nChar] )
- {
- stringFriendlyName += szBuffer[nChar];
- }
- else
- {
- if ( !stringFriendlyName.isEmpty() )
- stringlistFriendlyNames += stringFriendlyName;
- stringFriendlyName = QString::null;
- /* check for end (double null) in case nChars is invalid */
- if ( !szBuffer[nChar+1] )
- break;
- }
- }
-
-getDataSourceNamesExit1:
- SQLSetConfigMode( nScopeToRestore );
-
- return stringlistFriendlyNames;
-}
-
-bool MYODBCInsDataSource::isExistsDataSourceName( const QString
&stringDataSourceName, MYODBC_INS_DATASOURCE_SCOPE nScope )
-{
- SQLWCHAR szSectionNames[SQL_MAX_DSN_LENGTH * MYODBC_INS_MAX_DSN_NAMES];
- SQLWCHAR * pszSectionName;
- bool bReturn = false;
- UWORD nScopeToRestore = ODBC_BOTH_DSN;
-
- if ( !SQLGetConfigMode( &nScopeToRestore ) )
- return bReturn;
-
- if ( stringDataSourceName.isEmpty() )
- return bReturn;
-
- SQLSetConfigMode( (UWORD)nScope );
-
- /*!
- Get all section names. It would seem to be safest to get all sections
- names and then scan the result for match rather than try to do this
- with a single call to SQLGetPrivateProfileString() in off-chance that
- the section name exists with no name/value pairs.
- */
-
-#if defined(WIN32)
- /*!
- \note WIN
-
- SQLGetPrivateProfileString does not work when NULL for first arg.
- so we provide first arg and hope that there is at least one
- attribute (its likley anyway).
- */
- if ( SQLGetPrivateProfileString( stringDataSourceName.toStdWString().data(), NULL,
(LPWSTR)MYODBCCL(""), szSectionNames, sizeof(szSectionNames) / sizeof(SQLWCHAR),
(LPWSTR)MYODBCCL("ODBC.INI") ) > 0 )
- {
- bReturn = true;
- goto isExistsDataSourceNameExit1;
- }
- else
- goto isExistsDataSourceNameExit1;
-#else
- if ( SQLGetPrivateProfileString( NULL, NULL, (LPWSTR)MYODBCCL(""), szSectionNames,
sizeof( szSectionNames ) / sizeof(SQLWCHAR), (LPWSTR)MYODBCCL("ODBC.INI") ) < 1 )
- goto isExistsDataSourceNameExit1;
-#endif
- /*!
- Scan result and return MYODBC_C_TRUE if we find a match.
- */
- pszSectionName = szSectionNames;
- while( *pszSectionName )
- {
- QString stringSectionName( QString::fromStdWString( pszSectionName ) );
-
- if ( QString::localeAwareCompare( stringSectionName.toUpper(),
stringDataSourceName.toUpper() ) == 0 )
- {
- bReturn = true;
- goto isExistsDataSourceNameExit1;
- }
- pszSectionName += MYODBCCstrlen( pszSectionName ) + 1;
- }
-
-isExistsDataSourceNameExit1:
- SQLSetConfigMode( nScopeToRestore );
-
- return bReturn;
-}
-
bool MYODBCInsDataSource::doRead( const QString &stringDataSourceName,
MYODBC_INS_DATASOURCE_SCOPE nScope )
{
SQLWCHAR szEntryNames[SQL_MAX_DSN_LENGTH * MYODBC_INS_MAX_DSN_NAMES];
@@ -317,7 +212,7 @@
SQLSetConfigMode( (UWORD)nScope );
*szEntryNames = '\0';
- if ( ( nChars = SQLGetPrivateProfileString(
stringDataSourceName.toStdWString().data(), NULL, NULL, szEntryNames,
sizeof(szEntryNames) / sizeof(SQLWCHAR), (LPWSTR)MYODBCCL("ODBC.INI") ) ) < 1 )
+ if ( ( nChars = SQLGetPrivateProfileString( stringDataSourceName.utf16(), NULL, NULL,
szEntryNames, sizeof(szEntryNames) / sizeof(SQLWCHAR), L"ODBC.INI" ) ) < 1 )
goto doReadExit1;
#if defined(WIN32)
@@ -342,7 +237,7 @@
*szEntryNames = '\0';
SQLSetConfigMode( ODBC_SYSTEM_DSN );
- if ( ( nChars = SQLGetPrivateProfileString(
stringDataSourceName.toStdWString().data(), NULL, NULL, szEntryNames,
sizeof(szEntryNames) / sizeof(SQLWCHAR), (LPWSTR)MYODBCCL("ODBC.INI") ) ) < 1 )
+ if ( ( nChars = SQLGetPrivateProfileString( stringDataSourceName.utf16(),
NULL, NULL, szEntryNames, sizeof(szEntryNames) / sizeof(SQLWCHAR), L"ODBC.INI" ) ) < 1
)
goto doReadExit1;
}
}
@@ -361,9 +256,9 @@
{
*szValue = '\0';
#if defined(WIN32)
- if ( SQLGetPrivateProfileString( stringDataSourceName.toStdWString().data(),
pszEntryName, NULL, szValue, sizeof( szValue ) / sizeof(SQLWCHAR),
(LPWSTR)MYODBCCL("ODBC.INI") ) > 0 )
+ if ( SQLGetPrivateProfileString( stringDataSourceName.utf16(), pszEntryName,
NULL, szValue, sizeof( szValue ) / sizeof(SQLWCHAR), L"ODBC.INI" ) > 0 )
#else
- if ( SQLGetPrivateProfileString( stringDataSourceName.toStdWString().data(),
pszEntryName, (LPWSTR)MYODBCCL(""), szValue, sizeof( szValue ) / sizeof(SQLWCHAR),
(LPWSTR)MYODBCCL("ODBC.INI") ) > 0 )
+ if ( SQLGetPrivateProfileString( stringDataSourceName.utf16(), pszEntryName, L"",
szValue, sizeof( szValue ) / sizeof(SQLWCHAR), L"ODBC.INI" ) > 0 )
#endif
{
QString stringEntryName( QString::fromStdWString( pszEntryName ) );
@@ -446,11 +341,11 @@
else
{
/* What the ? */
- MYODBCCfprintf( stderr, MYODBCCL("[%s][%d][ERROR] Unknown attribute
(%s).\n"), __FILE__, __LINE__, pszEntryName );
+ MYODBCCfprintf( stderr, L"[%s][%d][ERROR] Unknown attribute (%s).\n",
__FILE__, __LINE__, pszEntryName );
}
}
else
- MYODBCCfprintf( stderr, MYODBCCL("[%s][%d][WARNING] Failed to get value for
attribute (%s).\n"), __FILE__, __LINE__, pszEntryName );
+ MYODBCCfprintf( stderr, L"[%s][%d][WARNING] Failed to get value for attribute
(%s).\n", __FILE__, __LINE__, pszEntryName );
pszEntryName += MYODBCCstrlen( pszEntryName ) + 1;
} /* while */
@@ -459,7 +354,7 @@
/* try harder to get the friendly driver name */
if ( stringDRIVER.isEmpty() )
{
- if ( SQLGetPrivateProfileString( MYODBC_INS_ODBCINI_HEADER_SECTION, NULL, NULL,
szEntryNames, sizeof(szEntryNames) / sizeof(SQLWCHAR), (LPWSTR)MYODBCCL("ODBC.INI") )
< 1 )
+ if ( SQLGetPrivateProfileString( MYODBC_INS_ODBCINI_HEADER_SECTION, NULL, NULL,
szEntryNames, sizeof(szEntryNames) / sizeof(SQLWCHAR), L"ODBC.INI" ) < 1 )
goto doReadExit1;
pszEntryName = szEntryNames;
@@ -467,7 +362,7 @@
{
QString stringEntryName( QString::fromStdWString( pszEntryName ) );
*szValue = '\0';
- if ( SQLGetPrivateProfileString( MYODBC_INS_ODBCINI_HEADER_SECTION,
pszEntryName, NULL, szValue, sizeof(szValue) / sizeof(SQLWCHAR),
(LPWSTR)MYODBCCL("ODBC.INI") ) > 0 )
+ if ( SQLGetPrivateProfileString( MYODBC_INS_ODBCINI_HEADER_SECTION,
pszEntryName, NULL, szValue, sizeof(szValue) / sizeof(SQLWCHAR), L"ODBC.INI" ) > 0 )
{
if ( QString::localeAwareCompare( stringEntryName.toUpper(),
stringDataSourceName.toUpper() ) == 0 )
@@ -523,40 +418,40 @@
So we ensure that any existing DSN with same name is removed
with the following call.
*/
- if ( !SQLRemoveDSNFromIni( stringDSN.toStdWString().data() ) )
+ if ( !SQLRemoveDSNFromIni( stringDSN.utf16() ) )
goto doReadExit1;
/* create/replace data source name */
- if ( !SQLWriteDSNToIni( stringDSN.toStdWString().data(),
stringDRIVER.toStdWString().data() ) )
+ if ( !SQLWriteDSNToIni( stringDSN.utf16(), stringDRIVER.utf16() ) )
goto doReadExit1;
/* add details */
if ( !stringDATABASE.isNull() &&
- !SQLWritePrivateProfileString( stringDSN.toStdWString().data(),
(LPWSTR)MYODBCCL("DATABASE"), stringDATABASE.toStdWString().data(),
(LPWSTR)MYODBCCL("odbc.ini") ) )
+ !SQLWritePrivateProfileString( stringDSN.utf16(), L"DATABASE",
stringDATABASE.utf16(), L"odbc.ini" ) )
goto doReadExit1;
if ( !stringDESCRIPTION.isNull() &&
- !SQLWritePrivateProfileString( stringDSN.toStdWString().data(),
(LPWSTR)MYODBCCL("DESCRIPTION"), stringDESCRIPTION.toStdWString().data(),
(LPWSTR)MYODBCCL("odbc.ini") ) )
+ !SQLWritePrivateProfileString( stringDSN.utf16(), L"DESCRIPTION",
stringDESCRIPTION.utf16(), L"odbc.ini" ) )
goto doReadExit1;
if ( !stringOPTION.isNull() &&
- !SQLWritePrivateProfileString( stringDSN.toStdWString().data(),
(LPWSTR)MYODBCCL("OPTION"), stringOPTION.toStdWString().data(),
(LPWSTR)MYODBCCL("odbc.ini") ) )
+ !SQLWritePrivateProfileString( stringDSN.utf16(), L"OPTION",
stringOPTION.utf16(), L"odbc.ini" ) )
goto doReadExit1;
if ( !stringPASSWORD.isNull() &&
- !SQLWritePrivateProfileString( stringDSN.toStdWString().data(),
(LPWSTR)MYODBCCL("PWD"), stringPASSWORD.toStdWString().data(),
(LPWSTR)MYODBCCL("odbc.ini") ) )
+ !SQLWritePrivateProfileString( stringDSN.utf16(), L"PWD",
stringPASSWORD.utf16(), L"odbc.ini" ) )
goto doReadExit1;
if ( !stringPORT.isNull() &&
- !SQLWritePrivateProfileString( stringDSN.toStdWString().data(),
(LPWSTR)MYODBCCL("PORT"), stringPORT.toStdWString().data(), (LPWSTR)MYODBCCL("odbc.ini")
) )
+ !SQLWritePrivateProfileString( stringDSN.utf16(), L"PORT", stringPORT.utf16(),
L"odbc.ini" ) )
goto doReadExit1;
if ( !stringSERVER.isNull() &&
- !SQLWritePrivateProfileString( stringDSN.toStdWString().data(),
(LPWSTR)MYODBCCL("SERVER"), stringSERVER.toStdWString().data(),
(LPWSTR)MYODBCCL("odbc.ini") ) )
+ !SQLWritePrivateProfileString( stringDSN.utf16(), L"SERVER",
stringSERVER.utf16(), L"odbc.ini" ) )
goto doReadExit1;
if ( !stringSOCKET.isNull() &&
- !SQLWritePrivateProfileString( stringDSN.toStdWString().data(),
(LPWSTR)MYODBCCL("SOCKET"), stringSOCKET.toStdWString().data(),
(LPWSTR)MYODBCCL("odbc.ini") ) )
+ !SQLWritePrivateProfileString( stringDSN.utf16(), L"SOCKET",
stringSOCKET.utf16(), L"odbc.ini" ) )
goto doReadExit1;
if ( !stringSTMT.isNull() &&
- !SQLWritePrivateProfileString( stringDSN.toStdWString().data(),
(LPWSTR)MYODBCCL("STMT"), stringSTMT.toStdWString().data(), (LPWSTR)MYODBCCL("odbc.ini")
) )
+ !SQLWritePrivateProfileString( stringDSN.utf16(), L"STMT", stringSTMT.utf16(),
L"odbc.ini" ) )
goto doReadExit1;
if ( !stringUSER.isNull() &&
- !SQLWritePrivateProfileString( stringDSN.toStdWString().data(),
(LPWSTR)MYODBCCL("UID"), stringUSER.toStdWString().data(), (LPWSTR)MYODBCCL("odbc.ini") )
)
+ !SQLWritePrivateProfileString( stringDSN.utf16(), L"UID", stringUSER.utf16(),
L"odbc.ini" ) )
goto doReadExit1;
bReturn = true;
@@ -591,7 +486,7 @@
bool MYODBCInsDataSource::doDelete( const QString &stringDataSourceName )
{
- return SQLRemoveDSNFromIni( stringDataSourceName.toStdWString().data() );
+ return SQLRemoveDSNFromIni( stringDataSourceName.utf16() );
}
MYODBCInsDataSource MYODBCInsDataSource::operator=( MYODBCInsDataSource rval )
Modified: MYODBCIns/MYODBCInsLib/MYODBCInsDriver.cpp
===================================================================
--- MYODBCIns/MYODBCInsLib/MYODBCInsDriver.cpp 2005-12-27 20:07:41 UTC (rev 18)
+++ MYODBCIns/MYODBCInsLib/MYODBCInsDriver.cpp 2005-12-28 07:30:09 UTC (rev 19)
@@ -62,56 +62,6 @@
return stringSETUP;
}
-/*!
- \internal
- \brief Get a list of installed drivers.
-
- \note XP
-
- SQLGetPrivateProfileString() with a NULL 1st arg does
- not return anything - ever. To return a list of drivers
- we can use SQLGetInstalledDrivers() instead.
-
- \param
-
- \returns
-*/
-QStringList MYODBCInsDriver::getDriverNames()
-{
- SQLWCHAR szBuffer[50000];
- int nChars = 0;
- int nChar = 0;
- QStringList stringlistFriendlyNames;
- QString stringFriendlyName = QString::null;
-
- nChars = ( SQLGetInstalledDrivers( szBuffer, sizeof(szBuffer) / sizeof(SQLWCHAR),
NULL ) ? 1 : 0 );
- if ( nChars < 1 )
- {
- MYODBCCfprintf( stderr, MYODBCCL("[%s][%d][INFO] Call returned no data. Could be
an error or just no data to return.\n"), __FILE__, __LINE__ );
- return stringlistFriendlyNames;
- }
-
- /*! \warning assumes that we are *not* using wide char :o */
- for ( nChar = 0; nChar < nChars; nChar++ )
- {
- if ( szBuffer[nChar] )
- {
- stringFriendlyName += szBuffer[nChar];
- }
- else
- {
- if ( !stringFriendlyName.isEmpty() )
- stringlistFriendlyNames += stringFriendlyName;
- stringFriendlyName = QString::null;
- /* check for end (double null) in case nChars is invalid */
- if ( !szBuffer[nChar+1] )
- break;
- }
- }
-
- return stringlistFriendlyNames;
-}
-
bool MYODBCInsDriver::doRead( const QString &stringFriendlyName )
{
SQLWCHAR szEntryNames[SQL_MAX_DSN_LENGTH * MYODBC_INS_MAX_DSN_NAMES];
@@ -119,12 +69,21 @@
SQLWCHAR szValue[4096];
if ( stringFriendlyName.isEmpty() )
+ {
+ MYODBCIns::setError( "invalid data source name" );
return false;
+ }
- if ( SQLGetPrivateProfileString( stringFriendlyName.toStdWString().data(), NULL,
(LPWSTR)MYODBCCL(""), szEntryNames, sizeof(szEntryNames) / sizeof(SQLWCHAR),
(LPWSTR)MYODBCCL("ODBCINST.INI") ) < 1 )
+ *szEntryNames = '\0';
+ int nChars = SQLGetPrivateProfileString( stringFriendlyName.utf16(), NULL, L"",
szEntryNames, sizeof(szEntryNames) / sizeof(SQLWCHAR), L"ODBCINST.INI" );
+ if ( nChars < 1 )
+ {
+ if ( MYODBCIns::setError( "data source name not found" ) != SQL_SUCCESS )
+ MYODBCCfprintf( stderr, L"[PAH][%s][%d]\n", __FILE__, __LINE__ );
return false;
+ }
- /* we do not do a doClear() here because we want to 'merge' the data - not replace it
*/
+ /* we avoid a doClear() here because we want to 'merge' the data - not replace it */
/* commit ourselves to getting the data */
this->stringFriendlyName = stringFriendlyName;
@@ -136,7 +95,7 @@
while ( *pszEntryName )
{
*szValue = '\0';
- if ( SQLGetPrivateProfileString( stringFriendlyName.toStdWString().data(),
pszEntryName, (LPWSTR)MYODBCCL(""), szValue, sizeof(szValue) / sizeof(SQLWCHAR),
(LPWSTR)MYODBCCL("ODBCINST.INI") ) > 0 )
+ if ( SQLGetPrivateProfileString( stringFriendlyName.utf16(), pszEntryName, L"",
szValue, sizeof(szValue) / sizeof(SQLWCHAR), L"ODBCINST.INI" ) > 0 )
{
QString stringEntryName = QString::fromStdWString( pszEntryName );
@@ -164,13 +123,13 @@
bool MYODBCInsDriver::doWrite()
{
if ( !stringFriendlyName.isEmpty() &&
- !SQLWritePrivateProfileString( stringFriendlyName.toStdWString().data(), NULL,
NULL, (LPWSTR)MYODBCCL("ODBCINST.INI") ) )
+ !SQLWritePrivateProfileString( stringFriendlyName.utf16(), NULL, NULL,
L"ODBCINST.INI" ) )
return false;
if ( !stringDRIVER.isEmpty() &&
- !SQLWritePrivateProfileString( stringFriendlyName.toStdWString().data(),
(LPWSTR)MYODBCCL("DRIVER"), stringDRIVER.toStdWString().data(),
(LPWSTR)MYODBCCL("ODBCINST.INI") ) )
+ !SQLWritePrivateProfileString( stringFriendlyName.utf16(), L"DRIVER",
stringDRIVER.utf16(), L"ODBCINST.INI" ) )
return false;
if ( !stringSETUP.isEmpty() &&
- !SQLWritePrivateProfileString( stringFriendlyName.toStdWString().data(),
(LPWSTR)MYODBCCL("SETUP"), stringSETUP.toStdWString().data(),
(LPWSTR)MYODBCCL("ODBCINST.INI") ) )
+ !SQLWritePrivateProfileString( stringFriendlyName.utf16(), L"SETUP",
stringSETUP.utf16(), L"ODBCINST.INI" ) )
return false;
return true;
@@ -185,7 +144,7 @@
bool MYODBCInsDriver::doDelete( const QString &stringDriverName, bool
bRemoveDataSourceNames, LPDWORD pnUsageCount )
{
- return SQLRemoveDriver( stringDriverName.toStdWString().data(),
bRemoveDataSourceNames, pnUsageCount );
+ return SQLRemoveDriver( stringDriverName.utf16(), bRemoveDataSourceNames,
pnUsageCount );
}
MYODBCInsDriver MYODBCInsDriver::operator=( MYODBCInsDriver rval )
Modified: MYODBCIns/MYODBCInsLib/MYODBCInsDriverConnect.cpp
===================================================================
--- MYODBCIns/MYODBCInsLib/MYODBCInsDriverConnect.cpp 2005-12-27 20:07:41 UTC (rev 18)
+++ MYODBCIns/MYODBCInsLib/MYODBCInsDriverConnect.cpp 2005-12-28 07:30:09 UTC (rev 19)
@@ -183,7 +183,7 @@
}
break;
default:
- MYODBCCfprintf( stderr, MYODBCCL("[%s][%d][ERROR] Unhandled state.\n"),
__FILE__, __LINE__ );
+ MYODBCCfprintf( stderr, L"[%s][%d][ERROR] Unhandled state.\n", __FILE__,
__LINE__ );
return false;
}
Modified: MYODBCIns/MYODBCInsLib/MYODBCInsLib.pro
===================================================================
--- MYODBCIns/MYODBCInsLib/MYODBCInsLib.pro 2005-12-27 20:07:41 UTC (rev 18)
+++ MYODBCIns/MYODBCInsLib/MYODBCInsLib.pro 2005-12-28 07:30:09 UTC (rev 19)
@@ -11,6 +11,7 @@
CONFIG += staticlib
CONFIG += console
INCLUDEPATH += ../../MYODBCC/include
+INCLUDEPATH += ../../MYODBCDbg/include
INCLUDEPATH += ../include
# #########################################################
@@ -40,6 +41,7 @@
MYODBCInsInternal.h
SOURCES = \
+ MYODBCIns.cpp \
MYODBCInsDriver.cpp \
MYODBCInsDataSource.cpp \
MYODBCInsDriverConnect.cpp
Modified: MYODBCIns/MYODBCInsTest/MYODBCInsTest.cpp
===================================================================
--- MYODBCIns/MYODBCInsTest/MYODBCInsTest.cpp 2005-12-27 20:07:41 UTC (rev 18)
+++ MYODBCIns/MYODBCInsTest/MYODBCInsTest.cpp 2005-12-28 07:30:09 UTC (rev 19)
@@ -19,6 +19,7 @@
if ( !driver.doWrite() )
{
+ MYODBCDbgPrint2( "%s", MYODBCIns::getErrors().join( "\n" ).toStdWString() );
return 0;
}
@@ -33,15 +34,29 @@
{
MYODBCInsDriver driver;
- if ( !driver.doRead( "mytest Friendly Name" ) )
+ if ( !driver.doRead( "mytestDRIVER" ) )
+ {
+ QStringList stringlist = MYODBCIns::getErrors();
+ if ( stringlist.isEmpty() )
+ {
+ MYODBCDbgPrint( "Unknown error" );
+ }
+ else
+ {
+ MYODBCDbgPrint2( "%s", MYODBCIns::getErrors().join( "\n" ).toStdWString() );
+ }
return 0;
+ }
QString stringResult;
QTextStream textstream( &stringResult );
+// QTextStream textstream( stderr );
textstream << driver;
if ( stringResult != stringOutput )
+ {
return 0;
+ }
return 1;
}
@@ -49,7 +64,7 @@
/* create new DSN */
int test3()
{
- QStringList stringlistDataSourceNames = MYODBCInsDataSource::getDataSourceNames(
MYODBC_INS_DATASOURCE_SCOPE_USER );
+ QStringList stringlistDataSourceNames = MYODBCIns::getDataSourceNames(
MYODBC_INS_DATASOURCE_SCOPE_USER );
if ( stringlistDataSourceNames.contains( "mytestDSN" ) )
return 0;
@@ -70,7 +85,9 @@
datasource.setSTMT( "" );
if ( !datasource.doWrite() )
+ {
return 0;
+ }
QTextStream textstream( &stringOutput );
textstream << datasource;
@@ -109,7 +126,7 @@
/* verify delete DSN */
int test6()
{
- QStringList stringlistDataSourceNames = MYODBCInsDataSource::getDataSourceNames(
MYODBC_INS_DATASOURCE_SCOPE_USER );
+ QStringList stringlistDataSourceNames = MYODBCIns::getDataSourceNames(
MYODBC_INS_DATASOURCE_SCOPE_USER );
if ( stringlistDataSourceNames.contains( "mytestDSN" ) )
return 0;
@@ -134,7 +151,7 @@
/* verify delete DRIVER */
int test8()
{
- QStringList stringlistDriverNames = MYODBCInsDriver::getDriverNames();
+ QStringList stringlistDriverNames = MYODBCIns::getDriverNames();
if ( stringlistDriverNames.contains( "mytestDRIVER" ) )
return 0;
@@ -158,9 +175,8 @@
};
int n;
- gpMYODBCDbg = new MYODBCDbg(
+ MYODBCDbgInit( stderr );
-
for ( n = 0; tests[n].name; n++ )
{
printf( "%-40s", tests[n].name );
@@ -173,6 +189,8 @@
}
}
+ MYODBCDbgFini();
+
return 0;
}
Modified: MYODBCIns/MYODBCInsTest/MYODBCInsTest.pro
===================================================================
--- MYODBCIns/MYODBCInsTest/MYODBCInsTest.pro 2005-12-27 20:07:41 UTC (rev 18)
+++ MYODBCIns/MYODBCInsTest/MYODBCInsTest.pro 2005-12-28 07:30:09 UTC (rev 19)
@@ -10,9 +10,10 @@
include( ../../odbc.pri )
CONFIG += console
INCLUDEPATH += ../../MYODBCC/include
+INCLUDEPATH += ../../MYODBCDbg/include
INCLUDEPATH += ../include
LIBS += -L../../lib
-LIBS += -lMYODBCIns
+LIBS += -lMYODBCIns -lMYODBCDbg
win32 {
LIBS += kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib
shell32.lib ole32.lib oleaut32.lib uuid.lib
Modified: MYODBCIns/include/MYODBCIns.h
===================================================================
--- MYODBCIns/include/MYODBCIns.h 2005-12-27 20:07:41 UTC (rev 18)
+++ MYODBCIns/include/MYODBCIns.h 2005-12-28 07:30:09 UTC (rev 19)
@@ -5,5 +5,20 @@
#include <MYODBCInsDataSource.h>
#include <MYODBCInsDriverConnect.h>
+class MYODBCIns
+{
+public:
+ static RETCODE setError( const QString &stringMessage, DWORD nErrorCode =
ODBC_ERROR_GENERAL_ERR );
+
+ static QStringList getDriverNames();
+ static QStringList getDataSourceNames( MYODBC_INS_DATASOURCE_SCOPE nScope );
+ static RETCODE getError( WORD nError, DWORD *pnErrorCode, QString &stringMessage
);
+ static QString getError( WORD nError );
+ static QStringList getErrors();
+
+ static bool isExistsDataSourceName( const QString &stringDataSourceName,
MYODBC_INS_DATASOURCE_SCOPE nScope );
+
+};
+
#endif
Modified: MYODBCIns/include/MYODBCInsDataSource.h
===================================================================
--- MYODBCIns/include/MYODBCInsDataSource.h 2005-12-27 20:07:41 UTC (rev 18)
+++ MYODBCIns/include/MYODBCInsDataSource.h 2005-12-28 07:30:09 UTC (rev 19)
@@ -64,10 +64,7 @@
QString getOPTION();
MYODBC_INS_DATASOURCE_MODE getMode();
MYODBC_INS_DATASOURCE_SCOPE getScope();
- static QStringList getDataSourceNames( MYODBC_INS_DATASOURCE_SCOPE nScope );
- static bool isExistsDataSourceName( const QString &stringDataSourceName,
MYODBC_INS_DATASOURCE_SCOPE nScope );
-
bool doRead( const QString &stringDataSourceName, MYODBC_INS_DATASOURCE_SCOPE
nScope );
bool doRead( const QString &stringDataSourceName );
bool doRead();
Modified: MYODBCIns/include/MYODBCInsDriver.h
===================================================================
--- MYODBCIns/include/MYODBCInsDriver.h 2005-12-27 20:07:41 UTC (rev 18)
+++ MYODBCIns/include/MYODBCInsDriver.h 2005-12-28 07:30:09 UTC (rev 19)
@@ -19,7 +19,6 @@
QString getFriendlyName();
QString getDRIVER();
QString getSETUP();
- static QStringList getDriverNames();
bool doRead( const QString &stringFriendlyName );
bool doWrite();
Modified: MYODBCTst/MYODBCTst.vpj
===================================================================
--- MYODBCTst/MYODBCTst.vpj 2005-12-27 20:07:41 UTC (rev 18)
+++ MYODBCTst/MYODBCTst.vpj 2005-12-28 07:30:09 UTC (rev 19)
@@ -23,7 +23,7 @@
CaptureOutputWith="ProcessBuffer"
SaveOption="SaveWorkspaceFiles"
RunFromDir="%rw">
- <Exec/>
+ <Exec CmdLine="make"/>
</Target>
<Target
Name="Rebuild"
Modified: MYODBCTst/MYODBCTstLib/MYODBCTstAllocHandle.c
===================================================================
--- MYODBCTst/MYODBCTstLib/MYODBCTstAllocHandle.c 2005-12-27 20:07:41 UTC (rev 18)
+++ MYODBCTst/MYODBCTstLib/MYODBCTstAllocHandle.c 2005-12-28 07:30:09 UTC (rev 19)
@@ -46,14 +46,14 @@
break;
case SQL_INVALID_HANDLE:
- MYODBCCfprintf( stderr, MYODBCCL("[%s][%d] SQL_INVALID_HANDLE\n"), __FILE__,
__LINE__ );
+ MYODBCCfprintf( stderr, _T("[%s][%d] SQL_INVALID_HANDLE\n"), __FILE__,
__LINE__ );
break;
case SQL_ERROR: /* any diag info is in hInputHandle */
switch ( nHandleType )
{
case SQL_HANDLE_ENV:
- MYODBCCfprintf( stderr, MYODBCCL("[%s][%d] SQL_ERROR\n"), __FILE__,
__LINE__ );
+ MYODBCCfprintf( stderr, _T("[%s][%d] SQL_ERROR\n"), __FILE__,
__LINE__ );
break;
case SQL_HANDLE_DBC:
MYODBCTstPrintDiagnostics( SQL_HANDLE_ENV, hInputHandle );
@@ -65,12 +65,12 @@
MYODBCTstPrintDiagnostics( SQL_HANDLE_DBC, hInputHandle );
break;
default:
- MYODBCCfprintf( stderr, MYODBCCL("[%s][%d] Invalid handle type
%d\n"), __FILE__, __LINE__, nHandleType );
+ MYODBCCfprintf( stderr, _T("[%s][%d] Invalid handle type %d\n"),
__FILE__, __LINE__, nHandleType );
}
break;
default:
- MYODBCCfprintf( stderr, MYODBCCL("[%s][%d] Invalid return value %d\n"),
__FILE__, __LINE__, nReturn );
+ MYODBCCfprintf( stderr, _T("[%s][%d] Invalid return value %d\n"), __FILE__,
__LINE__, nReturn );
}
return nReturn;
Modified: MYODBCTst/MYODBCTstLib/MYODBCTstCloseCursor.c
===================================================================
--- MYODBCTst/MYODBCTstLib/MYODBCTstCloseCursor.c 2005-12-27 20:07:41 UTC (rev 18)
+++ MYODBCTst/MYODBCTstLib/MYODBCTstCloseCursor.c 2005-12-28 07:30:09 UTC (rev 19)
@@ -47,11 +47,11 @@
break;
case SQL_INVALID_HANDLE:
- MYODBCCfprintf( stderr, MYODBCCL("[%s][%d] SQL_INVALID_HANDLE\n"), __FILE__,
__LINE__ );
+ MYODBCCfprintf( stderr, _T("[%s][%d] SQL_INVALID_HANDLE\n"), __FILE__,
__LINE__ );
break;
default:
- MYODBCCfprintf( stderr, MYODBCCL("[%s][%d] Invalid return value %d\n"),
__FILE__, __LINE__, nReturn );
+ MYODBCCfprintf( stderr, _T("[%s][%d] Invalid return value %d\n"), __FILE__,
__LINE__, nReturn );
}
return nReturn;
Modified: MYODBCTst/MYODBCTstLib/MYODBCTstColumns.c
===================================================================
--- MYODBCTst/MYODBCTstLib/MYODBCTstColumns.c 2005-12-27 20:07:41 UTC (rev 18)
+++ MYODBCTst/MYODBCTstLib/MYODBCTstColumns.c 2005-12-28 07:30:09 UTC (rev 19)
@@ -66,11 +66,11 @@
break;
case SQL_INVALID_HANDLE:
- MYODBCCfprintf( stderr, MYODBCCL("[%s][%d] SQL_INVALID_HANDLE\n"), __FILE__,
__LINE__ );
+ MYODBCCfprintf( stderr, _T("[%s][%d] SQL_INVALID_HANDLE\n"), __FILE__,
__LINE__ );
break;
default:
- MYODBCCfprintf( stderr, MYODBCCL("[%s][%d] Invalid return value %d\n"),
__FILE__, __LINE__, nReturn );
+ MYODBCCfprintf( stderr, _T("[%s][%d] Invalid return value %d\n"), __FILE__,
__LINE__, nReturn );
}
return nReturn;
Modified: MYODBCTst/MYODBCTstLib/MYODBCTstConnect.c
===================================================================
--- MYODBCTst/MYODBCTstLib/MYODBCTstConnect.c 2005-12-27 20:07:41 UTC (rev 18)
+++ MYODBCTst/MYODBCTstLib/MYODBCTstConnect.c 2005-12-28 07:30:09 UTC (rev 19)
@@ -55,11 +55,11 @@
break;
case SQL_INVALID_HANDLE:
- MYODBCCfprintf( stderr, MYODBCCL("[%s][%d] SQL_INVALID_HANDLE\n"), __FILE__,
__LINE__ );
+ MYODBCCfprintf( stderr, _T("[%s][%d] SQL_INVALID_HANDLE\n"), __FILE__,
__LINE__ );
break;
default:
- MYODBCCfprintf( stderr, MYODBCCL("[%s][%d] Invalid return value %d\n"),
__FILE__, __LINE__, nReturn );
+ MYODBCCfprintf( stderr, _T("[%s][%d] Invalid return value %d\n"), __FILE__,
__LINE__, nReturn );
}
return nReturn;
Modified: MYODBCTst/MYODBCTstLib/MYODBCTstDisconnect.c
===================================================================
--- MYODBCTst/MYODBCTstLib/MYODBCTstDisconnect.c 2005-12-27 20:07:41 UTC (rev 18)
+++ MYODBCTst/MYODBCTstLib/MYODBCTstDisconnect.c 2005-12-28 07:30:09 UTC (rev 19)
@@ -43,11 +43,11 @@
return nReturn;
case SQL_INVALID_HANDLE:
- MYODBCCfprintf( stderr, MYODBCCL("[%s][%d] SQL_INVALID_HANDLE\n"), __FILE__,
__LINE__ );
+ MYODBCCfprintf( stderr, _T("[%s][%d] SQL_INVALID_HANDLE\n"), __FILE__,
__LINE__ );
return nReturn;
default:
- MYODBCCfprintf( stderr, MYODBCCL("[%s][%d] Invalid return value %d\n"),
__FILE__, __LINE__, nReturn );
+ MYODBCCfprintf( stderr, _T("[%s][%d] Invalid return value %d\n"), __FILE__,
__LINE__, nReturn );
}
return SQL_ERROR;
Modified: MYODBCTst/MYODBCTstLib/MYODBCTstDriverConnect.c
===================================================================
--- MYODBCTst/MYODBCTstLib/MYODBCTstDriverConnect.c 2005-12-27 20:07:41 UTC (rev 18)
+++ MYODBCTst/MYODBCTstLib/MYODBCTstDriverConnect.c 2005-12-28 07:30:09 UTC (rev 19)
@@ -57,14 +57,14 @@
break;
case SQL_INVALID_HANDLE:
- MYODBCCfprintf( stderr, MYODBCCL("[%s][%d] SQL_INVALID_HANDLE\n"), __FILE__,
__LINE__ );
+ MYODBCCfprintf( stderr, _T("[%s][%d] SQL_INVALID_HANDLE\n"), __FILE__,
__LINE__ );
break;
case SQL_NO_DATA:
break;
default:
- MYODBCCfprintf( stderr, MYODBCCL("[%s][%d] Invalid return value %d\n"),
__FILE__, __LINE__, nReturn );
+ MYODBCCfprintf( stderr, _T("[%s][%d] Invalid return value %d\n"), __FILE__,
__LINE__, nReturn );
}
return nReturn;
Modified: MYODBCTst/MYODBCTstLib/MYODBCTstDump.c
===================================================================
--- MYODBCTst/MYODBCTstLib/MYODBCTstDump.c 2005-12-27 20:07:41 UTC (rev 18)
+++ MYODBCTst/MYODBCTstLib/MYODBCTstDump.c 2005-12-28 07:30:09 UTC (rev 19)
@@ -53,7 +53,7 @@
rec++ )
{
message_text[SQL_MAX_MESSAGE_LENGTH - 1] = '\0';
- MYODBCCfprintf( stderr, MYODBCCL("[%s]%s\n"), sql_state, message_text );
+ MYODBCCfprintf( stderr, _T("[%s]%s\n"), sql_state, message_text );
}
}
@@ -71,7 +71,7 @@
rec++ )
{
message_text[SQL_MAX_MESSAGE_LENGTH - 1] = '\0';
- MYODBCCfprintf( stderr, MYODBCCL("[%s]%s\n"), sql_state, message_text );
+ MYODBCCfprintf( stderr, _T("[%s]%s\n"), sql_state, message_text );
}
}
@@ -89,7 +89,7 @@
rec++ )
{
message_text[SQL_MAX_MESSAGE_LENGTH - 1] = '\0';
- MYODBCCfprintf( stderr, MYODBCCL("[%s]%s\n"), sql_state, message_text );
+ MYODBCCfprintf( stderr, _T("[%s]%s\n"), sql_state, message_text );
}
}
@@ -107,7 +107,7 @@
rec++ )
{
message_text[SQL_MAX_MESSAGE_LENGTH - 1] = '\0';
- MYODBCCfprintf( stderr, MYODBCCL("[%s]%s\n"), sql_state, message_text );
+ MYODBCCfprintf( stderr, _T("[%s]%s\n"), sql_state, message_text );
}
}
}
Modified: MYODBCTst/MYODBCTstLib/MYODBCTstExecDirect.c
===================================================================
--- MYODBCTst/MYODBCTstLib/MYODBCTstExecDirect.c 2005-12-27 20:07:41 UTC (rev 18)
+++ MYODBCTst/MYODBCTstLib/MYODBCTstExecDirect.c 2005-12-28 07:30:09 UTC (rev 19)
@@ -58,11 +58,11 @@
break;
case SQL_INVALID_HANDLE:
- MYODBCCfprintf( stderr, MYODBCCL("[%s][%d] SQL_INVALID_HANDLE\n"), __FILE__,
__LINE__ );
+ MYODBCCfprintf( stderr, _T("[%s][%d] SQL_INVALID_HANDLE\n"), __FILE__,
__LINE__ );
break;
default:
- MYODBCCfprintf( stderr, MYODBCCL("[%s][%d] Invalid return value %d\n"),
__FILE__, __LINE__, nReturn );
+ MYODBCCfprintf( stderr, _T("[%s][%d] Invalid return value %d\n"), __FILE__,
__LINE__, nReturn );
}
return nReturn;
Modified: MYODBCTst/MYODBCTstLib/MYODBCTstExecute.c
===================================================================
--- MYODBCTst/MYODBCTstLib/MYODBCTstExecute.c 2005-12-27 20:07:41 UTC (rev 18)
+++ MYODBCTst/MYODBCTstLib/MYODBCTstExecute.c 2005-12-28 07:30:09 UTC (rev 19)
@@ -54,11 +54,11 @@
break;
case SQL_INVALID_HANDLE:
- MYODBCCfprintf( stderr, MYODBCCL("[%s][%d] SQL_INVALID_HANDLE\n"), __FILE__,
__LINE__ );
+ MYODBCCfprintf( stderr, _T("[%s][%d] SQL_INVALID_HANDLE\n"), __FILE__,
__LINE__ );
break;
default:
- MYODBCCfprintf( stderr, MYODBCCL("[%s][%d] Invalid return value %d\n"),
__FILE__, __LINE__, nReturn );
+ MYODBCCfprintf( stderr, _T("[%s][%d] Invalid return value %d\n"), __FILE__,
__LINE__, nReturn );
}
return nReturn;
Modified: MYODBCTst/MYODBCTstLib/MYODBCTstFetch.c
===================================================================
--- MYODBCTst/MYODBCTstLib/MYODBCTstFetch.c 2005-12-27 20:07:41 UTC (rev 18)
+++ MYODBCTst/MYODBCTstLib/MYODBCTstFetch.c 2005-12-28 07:30:09 UTC (rev 19)
@@ -43,7 +43,7 @@
break;
case SQL_INVALID_HANDLE:
- MYODBCCfprintf( stderr, MYODBCCL("[%s][%d] SQL_INVALID_HANDLE\n"), __FILE__,
__LINE__ );
+ MYODBCCfprintf( stderr, _T("[%s][%d] SQL_INVALID_HANDLE\n"), __FILE__,
__LINE__ );
break;
case SQL_NO_DATA_FOUND:
@@ -51,7 +51,7 @@
break;
default:
- MYODBCCfprintf( stderr, MYODBCCL("[%s][%d] Invalid return value %d\n"),
__FILE__, __LINE__, nReturn );
+ MYODBCCfprintf( stderr, _T("[%s][%d] Invalid return value %d\n"), __FILE__,
__LINE__, nReturn );
}
return nReturn;
Modified: MYODBCTst/MYODBCTstLib/MYODBCTstForeignKeys.c
===================================================================
--- MYODBCTst/MYODBCTstLib/MYODBCTstForeignKeys.c 2005-12-27 20:07:41 UTC (rev 18)
+++ MYODBCTst/MYODBCTstLib/MYODBCTstForeignKeys.c 2005-12-28 07:30:09 UTC (rev 19)
@@ -74,11 +74,11 @@
break;
case SQL_INVALID_HANDLE:
- MYODBCCfprintf( stderr, MYODBCCL("[%s][%d] SQL_INVALID_HANDLE\n"), __FILE__,
__LINE__ );
+ MYODBCCfprintf( stderr, _T("[%s][%d] SQL_INVALID_HANDLE\n"), __FILE__,
__LINE__ );
break;
default:
- MYODBCCfprintf( stderr, MYODBCCL("[%s][%d] Invalid return value %d\n"),
__FILE__, __LINE__, nReturn );
+ MYODBCCfprintf( stderr, _T("[%s][%d] Invalid return value %d\n"), __FILE__,
__LINE__, nReturn );
}
return nReturn;
Modified: MYODBCTst/MYODBCTstLib/MYODBCTstFreeHandle.c
===================================================================
--- MYODBCTst/MYODBCTstLib/MYODBCTstFreeHandle.c 2005-12-27 20:07:41 UTC (rev 18)
+++ MYODBCTst/MYODBCTstLib/MYODBCTstFreeHandle.c 2005-12-28 07:30:09 UTC (rev 19)
@@ -44,11 +44,11 @@
break;
case SQL_INVALID_HANDLE:
- MYODBCCfprintf( stderr, MYODBCCL("[%s][%d] SQL_INVALID_HANDLE\n"), __FILE__,
__LINE__ );
+ MYODBCCfprintf( stderr, _T("[%s][%d] SQL_INVALID_HANDLE\n"), __FILE__,
__LINE__ );
break;
default:
- MYODBCCfprintf( stderr, MYODBCCL("[%s][%d] Invalid return value %d\n"),
__FILE__, __LINE__, nReturn );
+ MYODBCCfprintf( stderr, _T("[%s][%d] Invalid return value %d\n"), __FILE__,
__LINE__, nReturn );
}
return nReturn;
Modified: MYODBCTst/MYODBCTstLib/MYODBCTstGetData.c
===================================================================
--- MYODBCTst/MYODBCTstLib/MYODBCTstGetData.c 2005-12-27 20:07:41 UTC (rev 18)
+++ MYODBCTst/MYODBCTstLib/MYODBCTstGetData.c 2005-12-28 07:30:09 UTC (rev 19)
@@ -54,7 +54,7 @@
break;
case SQL_INVALID_HANDLE:
- MYODBCCfprintf( stderr, MYODBCCL("[%s][%d] SQL_INVALID_HANDLE\n") );
+ MYODBCCfprintf( stderr, _T("[%s][%d] SQL_INVALID_HANDLE\n") );
break;
case SQL_NO_DATA_FOUND:
@@ -62,7 +62,7 @@
break;
default:
- MYODBCCfprintf( stderr, MYODBCCL("[%s][%d] Invalid return value %d\n"),
__FILE__, __LINE__, nReturn );
+ MYODBCCfprintf( stderr, _T("[%s][%d] Invalid return value %d\n"), __FILE__,
__LINE__, nReturn );
}
return nReturn;
Modified: MYODBCTst/MYODBCTstLib/MYODBCTstGetTypeInfo.c
===================================================================
--- MYODBCTst/MYODBCTstLib/MYODBCTstGetTypeInfo.c 2005-12-27 20:07:41 UTC (rev 18)
+++ MYODBCTst/MYODBCTstLib/MYODBCTstGetTypeInfo.c 2005-12-28 07:30:09 UTC (rev 19)
@@ -45,14 +45,14 @@
break;
case SQL_INVALID_HANDLE:
- MYODBCCfprintf( stderr, MYODBCCL("[%s][%d] SQL_INVALID_HANDLE\n"), __FILE__,
__LINE__ );
+ MYODBCCfprintf( stderr, _T("[%s][%d] SQL_INVALID_HANDLE\n"), __FILE__,
__LINE__ );
break;
case SQL_STILL_EXECUTING:
break;
default:
- MYODBCCfprintf( stderr, MYODBCCL("[%s][%d] Invalid return value %d\n"),
__FILE__, __LINE__, nReturn );
+ MYODBCCfprintf( stderr, _T("[%s][%d] Invalid return value %d\n"), __FILE__,
__LINE__, nReturn );
}
return nReturn;
Modified: MYODBCTst/MYODBCTstLib/MYODBCTstNumResultCols.c
===================================================================
--- MYODBCTst/MYODBCTstLib/MYODBCTstNumResultCols.c 2005-12-27 20:07:41 UTC (rev 18)
+++ MYODBCTst/MYODBCTstLib/MYODBCTstNumResultCols.c 2005-12-28 07:30:09 UTC (rev 19)
@@ -45,14 +45,14 @@
break;
case SQL_INVALID_HANDLE:
- MYODBCCfprintf( stderr, MYODBCCL("[%s][%d] SQL_INVALID_HANDLE\n"), __FILE__,
__LINE__ );
+ MYODBCCfprintf( stderr, _T("[%s][%d] SQL_INVALID_HANDLE\n"), __FILE__,
__LINE__ );
break;
case SQL_STILL_EXECUTING:
break;
default:
- MYODBCCfprintf( stderr, MYODBCCL("[%s][%d] Invalid return value %d\n"),
__FILE__, __LINE__, nReturn );
+ MYODBCCfprintf( stderr, _T("[%s][%d] Invalid return value %d\n"), __FILE__,
__LINE__, nReturn );
}
return nReturn;
Modified: MYODBCTst/MYODBCTstLib/MYODBCTstPrepare.c
===================================================================
--- MYODBCTst/MYODBCTstLib/MYODBCTstPrepare.c 2005-12-27 20:07:41 UTC (rev 18)
+++ MYODBCTst/MYODBCTstLib/MYODBCTstPrepare.c 2005-12-28 07:30:09 UTC (rev 19)
@@ -47,14 +47,14 @@
break;
case SQL_INVALID_HANDLE:
- MYODBCCfprintf( stderr, MYODBCCL("[%s][%d] SQL_INVALID_HANDLE\n"), __FILE__,
__LINE__ );
+ MYODBCCfprintf( stderr, _T("[%s][%d] SQL_INVALID_HANDLE\n"), __FILE__,
__LINE__ );
break;
case SQL_STILL_EXECUTING:
break;
default:
- MYODBCCfprintf( stderr, MYODBCCL("[%s][%d] Invalid return value %d\n"),
__FILE__, __LINE__, nReturn );
+ MYODBCCfprintf( stderr, _T("[%s][%d] Invalid return value %d\n"), __FILE__,
__LINE__, nReturn );
}
return nReturn;
Modified: MYODBCTst/MYODBCTstLib/MYODBCTstPrimaryKeys.c
===================================================================
--- MYODBCTst/MYODBCTstLib/MYODBCTstPrimaryKeys.c 2005-12-27 20:07:41 UTC (rev 18)
+++ MYODBCTst/MYODBCTstLib/MYODBCTstPrimaryKeys.c 2005-12-28 07:30:09 UTC (rev 19)
@@ -62,11 +62,11 @@
break;
case SQL_INVALID_HANDLE:
- MYODBCCfprintf( stderr, MYODBCCL("[%s][%d] SQL_INVALID_HANDLE\n"), __FILE__,
__LINE__ );
+ MYODBCCfprintf( stderr, _T("[%s][%d] SQL_INVALID_HANDLE\n"), __FILE__,
__LINE__ );
break;
default:
- MYODBCCfprintf( stderr, MYODBCCL("[%s][%d] Invalid return value %d\n"),
__FILE__, __LINE__, nReturn );
+ MYODBCCfprintf( stderr, _T("[%s][%d] Invalid return value %d\n"), __FILE__,
__LINE__, nReturn );
}
return nReturn;
Modified: MYODBCTst/MYODBCTstLib/MYODBCTstPrintDiagnostics.c
===================================================================
--- MYODBCTst/MYODBCTstLib/MYODBCTstPrintDiagnostics.c 2005-12-27 20:07:41 UTC (rev 18)
+++ MYODBCTst/MYODBCTstLib/MYODBCTstPrintDiagnostics.c 2005-12-28 07:30:09 UTC (rev 19)
@@ -32,9 +32,9 @@
SQLHANDLE hHandle )
{
SQLSMALLINT nRecNumber = 1;
- SQLTCHAR szSqlState[6];
+ SQLTCHAR szSqlState[6];
SQLINTEGER nNativeError;
- SQLTCHAR szMessageText[1024];
+ SQLTCHAR szMessageText[1024];
SQLSMALLINT nBufferLength = 1023;
SQLSMALLINT nTextLength;
SQLRETURN nReturn;
@@ -49,7 +49,7 @@
&nTextLength ) ) ) )
{
szSqlState[5] = '\0';
- MYODBCCfprintf( stderr, MYODBCCL("[%s] (%d) %s\n"), szSqlState, nNativeError,
szMessageText );
+ MYODBCCfprintf( stderr, _T("[%s] (%d) %s\n"), szSqlState, nNativeError,
szMessageText );
nRecNumber++;
}
Modified: MYODBCTst/MYODBCTstLib/MYODBCTstSetEnvAttr.c
===================================================================
--- MYODBCTst/MYODBCTstLib/MYODBCTstSetEnvAttr.c 2005-12-27 20:07:41 UTC (rev 18)
+++ MYODBCTst/MYODBCTstLib/MYODBCTstSetEnvAttr.c 2005-12-28 07:30:09 UTC (rev 19)
@@ -49,11 +49,11 @@
break;
case SQL_INVALID_HANDLE:
- MYODBCCfprintf( stderr, MYODBCCL("[%s][%d] SQL_INVALID_HANDLE\n"), __FILE__,
__LINE__ );
+ MYODBCCfprintf( stderr, _T("[%s][%d] SQL_INVALID_HANDLE\n"), __FILE__,
__LINE__ );
break;
default:
- MYODBCCfprintf( stderr, MYODBCCL("[%s][%d] Invalid return pValue %d\n"),
__FILE__, __LINE__, nReturn );
+ MYODBCCfprintf( stderr, _T("[%s][%d] Invalid return pValue %d\n"), __FILE__,
__LINE__, nReturn );
}
return nReturn;
Modified: MYODBCTst/MYODBCTstLib/MYODBCTstStatistics.c
===================================================================
--- MYODBCTst/MYODBCTstLib/MYODBCTstStatistics.c 2005-12-27 20:07:41 UTC (rev 18)
+++ MYODBCTst/MYODBCTstLib/MYODBCTstStatistics.c 2005-12-28 07:30:09 UTC (rev 19)
@@ -66,11 +66,11 @@
break;
case SQL_INVALID_HANDLE:
- MYODBCCfprintf( stderr, MYODBCCL("[%s][%d] SQL_INVALID_HANDLE\n"), __FILE__,
__LINE__ );
+ MYODBCCfprintf( stderr, _T("[%s][%d] SQL_INVALID_HANDLE\n"), __FILE__,
__LINE__ );
break;
default:
- MYODBCCfprintf( stderr, MYODBCCL("[%s][%d] Invalid return value %d\n"),
__FILE__, __LINE__, nReturn );
+ MYODBCCfprintf( stderr, _T("[%s][%d] Invalid return value %d\n"), __FILE__,
__LINE__, nReturn );
}
return nReturn;
Modified: MYODBCTst/MYODBCTstLib/MYODBCTstTables.c
===================================================================
--- MYODBCTst/MYODBCTstLib/MYODBCTstTables.c 2005-12-27 20:07:41 UTC (rev 18)
+++ MYODBCTst/MYODBCTstLib/MYODBCTstTables.c 2005-12-28 07:30:09 UTC (rev 19)
@@ -66,11 +66,11 @@
break;
case SQL_INVALID_HANDLE:
- MYODBCCfprintf( stderr, MYODBCCL("[%s][%d] SQL_INVALID_HANDLE\n"), __FILE__,
__LINE__ );
+ MYODBCCfprintf( stderr, _T("[%s][%d] SQL_INVALID_HANDLE\n"), __FILE__,
__LINE__ );
break;
default:
- MYODBCCfprintf( stderr, MYODBCCL("[%s][%d] Invalid return value %d\n"),
__FILE__, __LINE__, nReturn );
+ MYODBCCfprintf( stderr, _T("[%s][%d] Invalid return value %d\n"), __FILE__,
__LINE__, nReturn );
}
return nReturn;
Modified: MYODBCTst/include/MYODBCTst.h
===================================================================
--- MYODBCTst/include/MYODBCTst.h 2005-12-27 20:07:41 UTC (rev 18)
+++ MYODBCTst/include/MYODBCTst.h 2005-12-28 07:30:09 UTC (rev 19)
@@ -51,6 +51,7 @@
#define MYODBC_TST_H
#include <MYODBCC.h>
+#include <tchar.h>
typedef struct tMYODBC_TST
{
Modified: defines.pri
===================================================================
--- defines.pri 2005-12-27 20:07:41 UTC (rev 18)
+++ defines.pri 2005-12-28 07:30:09 UTC (rev 19)
@@ -61,7 +61,7 @@
# #########################################################
# Enable/disable UNICODE build option.
# #########################################################
-DEFINES += UNICODE
+DEFINES += UNICODE _UNICODE
# #########################################################
# LDFLAGS was brought in to get -ldl for Solaris 8 build
Modified: doxygen.config
===================================================================
--- doxygen.config 2005-12-27 20:07:41 UTC (rev 18)
+++ doxygen.config 2005-12-28 07:30:09 UTC (rev 19)
@@ -392,7 +392,7 @@
# with spaces.
INPUT = ./MYODBCC/include \
- ./MYODBCC/MYODBCCLib \
+ ./MYODBCC/Lib \
./MYODBCRtti/include \
./MYODBCDbg/include \
./MYODBCDbg/MYODBCDbgLib \
| Thread |
|---|
| • Connector/ODBC 5 commit: r19 - / MYODBCC MYODBCC/MYODBCCLib MYODBCC/include MYODBCDbg/MYODBCDbgLib MYODBCDbg/MYODBCDbgTest MYODBCDbg/include MYODBCIns... | pharvey | 28 Dec |