Modified:
MYODBCC/MYODBCCLib/MYODBCC.cpp
MYODBCC/include/MYODBCC.h
MYSQLPlus/MYSQLPlusLib/MConnection.cpp
MYSQLPlus/MYSQLPlusLib/MDescriptorRecord.cpp
MYSQLPlus/MYSQLPlusLib/MDiagnostic.cpp
MYSQLPlus/MYSQLPlusLib/MDiagnosticRecord.cpp
MYSQLPlus/MYSQLPlusLib/MResult.cpp
Log:
Modified: MYODBCC/MYODBCCLib/MYODBCC.cpp
===================================================================
--- MYODBCC/MYODBCCLib/MYODBCC.cpp 2006-05-19 15:10:42 UTC (rev 259)
+++ MYODBCC/MYODBCCLib/MYODBCC.cpp 2006-05-19 15:39:39 UTC (rev 260)
@@ -1383,6 +1383,7 @@
return memcpy( pDest, pSrc, nBytes );
}
+/*
#if defined(_WIN32) && _MSC_VER >= 1400
BOOLEAN MYODBCC::doStrNCpy( SQLWCHAR *pszDest, size_t nSizeInWords, const SQLWCHAR
*pszSrc, size_t nChars )
{
@@ -1397,6 +1398,7 @@
return true;
}
#endif
+*/
/*!
\brief Copies a C string.
Modified: MYODBCC/include/MYODBCC.h
===================================================================
--- MYODBCC/include/MYODBCC.h 2006-05-19 15:10:42 UTC (rev 259)
+++ MYODBCC/include/MYODBCC.h 2006-05-19 15:39:39 UTC (rev 260)
@@ -244,12 +244,16 @@
static void * doMemCpy( void *pDest, const void *pSrc, size_t nBytes );
+/*
#if defined(_WIN32) && _MSC_VER >= 1400
static BOOLEAN doStrNCpy( SQLWCHAR *pszDest, size_t nSizeInWords, const SQLWCHAR
*pszSrc, size_t nChars = _TRUNCATE );
#else
static BOOLEAN doStrNCpy( SQLWCHAR *pszDest, size_t nSizeInWords, const SQLWCHAR
*pszSrc );
#endif
+*/
+ static BOOLEAN doStringCopyIn( SQLWCHAR *pszDest, SQLINTEGER nDestMaxChars, SQLWCHAR
*pszSrc, SQLINTEGER nSrcChars );
+ static BOOLEAN doStringCopyIn( SQLWCHAR *pszDest, SQLINTEGER nDestMaxChars, SQLWCHAR
*pszSrc, SQLINTEGER nSrcChars );
static BOOLEAN doStringCopyOut( SQLCHAR *pszDest, SQLINTEGER nDestMaxChars, SQLCHAR
*pszSrc );
static BOOLEAN doStringCopyOut( SQLWCHAR *pszDest, SQLINTEGER nDestMaxChars, SQLWCHAR
*pszSrc );
Modified: MYSQLPlus/MYSQLPlusLib/MConnection.cpp
===================================================================
--- MYSQLPlus/MYSQLPlusLib/MConnection.cpp 2006-05-19 15:10:42 UTC (rev 259)
+++ MYSQLPlus/MYSQLPlusLib/MConnection.cpp 2006-05-19 15:39:39 UTC (rev 260)
@@ -311,8 +311,8 @@
MYODBCDbgReturn( SQL_NO_DATA );
*pnLen = 0;
}
- else if ( !MYODBCC::doStrNCpy( (SQLWCHAR*)pValue, nBufferLength /
sizeof(SQLWCHAR), getCurrentCatalog().utf16() ) )
- MYODBCDbgReturn( pDiagnostic->doAppend( MDiagnostic::DIA_HY000, 0,
tr("doStrNCpy() failed.") ) );
+ else if ( !MYODBCC::doStringCopyOut( (SQLWCHAR*)pValue, nBufferLength /
sizeof(SQLWCHAR), getCurrentCatalog().utf16() ) )
+ MYODBCDbgReturn( pDiagnostic->doAppend( MDiagnostic::DIA_HY000, 0,
tr("doStringCopyOut() failed.") ) );
}
/* copy len */
@@ -376,8 +376,8 @@
MYODBCDbgReturn( SQL_NO_DATA );
*pnLen = 0;
}
- else if ( !MYODBCC::doStrNCpy( (SQLWCHAR*)pValue, nBufferLength /
sizeof(SQLWCHAR), getTracefile().utf16() ) )
- MYODBCDbgReturn( pDiagnostic->doAppend( MDiagnostic::DIA_HY000, 0,
tr("doStrNCpy() failed.") ) );
+ else if ( !MYODBCC::doStringCopyOut( (SQLWCHAR*)pValue, nBufferLength /
sizeof(SQLWCHAR), getTracefile().utf16() ) )
+ MYODBCDbgReturn( pDiagnostic->doAppend( MDiagnostic::DIA_HY000, 0,
tr("doStringCopyOut() failed.") ) );
}
/* copy len */
@@ -405,8 +405,8 @@
MYODBCDbgReturn( SQL_NO_DATA );
*pnLen = 0;
}
- else if ( !MYODBCC::doStrNCpy( (SQLWCHAR*)pValue, nBufferLength /
sizeof(SQLWCHAR), getTranslateLib().utf16() ) )
- MYODBCDbgReturn( pDiagnostic->doAppend( MDiagnostic::DIA_HY000, 0,
tr("doStrNCpy() failed.") ) );
+ else if ( !MYODBCC::doStringCopyOut( (SQLWCHAR*)pValue, nBufferLength /
sizeof(SQLWCHAR), getTranslateLib().utf16() ) )
+ MYODBCDbgReturn( pDiagnostic->doAppend( MDiagnostic::DIA_HY000, 0,
tr("doStringCopyOut() failed.") ) );
}
/* copy len */
Modified: MYSQLPlus/MYSQLPlusLib/MDescriptorRecord.cpp
===================================================================
--- MYSQLPlus/MYSQLPlusLib/MDescriptorRecord.cpp 2006-05-19 15:10:42 UTC (rev 259)
+++ MYSQLPlus/MYSQLPlusLib/MDescriptorRecord.cpp 2006-05-19 15:39:39 UTC (rev 260)
@@ -946,17 +946,15 @@
break;
case SQL_DESC_BASE_COLUMN_NAME:
- MYODBCC::doStrNCpy( (SQLWCHAR*)pValuePtr, nBufferLength / sizeof(SQLWCHAR),
getBaseColumnName().utf16() );
*pnStringLengthPtr = getBaseColumnName().length() * sizeof(SQLWCHAR);
- if ( *pnStringLengthPtr > nBufferLength )
- MYODBCDbgReturn( SQL_SUCCESS_WITH_INFO );
+ if ( !MYODBCC::doStringCopyOut( (SQLWCHAR*)pValuePtr, nBufferLength /
sizeof(SQLWCHAR), getBaseColumnName().utf16() ) )
+ MYODBCDbgReturn( getDescriptor()->getDiagnostic()->doAppend(
MDiagnostic::DIA_01004 ) );
break;
case SQL_DESC_BASE_TABLE_NAME:
- MYODBCC::doStrNCpy( (SQLWCHAR*)pValuePtr, nBufferLength / sizeof(SQLWCHAR),
getBaseTableName().utf16() );
*pnStringLengthPtr = getBaseTableName().length() * sizeof(SQLWCHAR);
- if ( *pnStringLengthPtr > nBufferLength )
- MYODBCDbgReturn( SQL_SUCCESS_WITH_INFO );
+ if ( !MYODBCC::doStringCopyOut( (SQLWCHAR*)pValuePtr, nBufferLength /
sizeof(SQLWCHAR), getBaseTableName().utf16() ) )
+ MYODBCDbgReturn( getDescriptor()->getDiagnostic()->doAppend(
MDiagnostic::DIA_01004 ) );
break;
case SQL_DESC_CASE_SENSITIVE:
@@ -964,10 +962,9 @@
break;
case SQL_DESC_CATALOG_NAME:
- MYODBCC::doStrNCpy( (SQLWCHAR*)pValuePtr, nBufferLength / sizeof(SQLWCHAR),
getCatalogName().utf16() );
*pnStringLengthPtr = getCatalogName().length() * sizeof(SQLWCHAR);
- if ( *pnStringLengthPtr > nBufferLength )
- MYODBCDbgReturn( SQL_SUCCESS_WITH_INFO );
+ if ( !MYODBCC::doStringCopyOut( (SQLWCHAR*)pValuePtr, nBufferLength /
sizeof(SQLWCHAR), getCatalogName().utf16() ) )
+ MYODBCDbgReturn( getDescriptor()->getDiagnostic()->doAppend(
MDiagnostic::DIA_01004 ) );
break;
case SQL_DESC_CONCISE_TYPE:
@@ -1007,10 +1004,9 @@
break;
case SQL_DESC_LABEL:
- MYODBCC::doStrNCpy( (SQLWCHAR*)pValuePtr, nBufferLength / sizeof(SQLWCHAR),
getLabel().utf16() );
*pnStringLengthPtr = getLabel().length() * sizeof(SQLWCHAR);
- if ( *pnStringLengthPtr > nBufferLength )
- MYODBCDbgReturn( SQL_SUCCESS_WITH_INFO );
+ if ( !MYODBCC::doStringCopyOut( (SQLWCHAR*)pValuePtr, nBufferLength /
sizeof(SQLWCHAR), getLabel().utf16() ) )
+ MYODBCDbgReturn( getDescriptor()->getDiagnostic()->doAppend(
MDiagnostic::DIA_01004 ) );
break;
case SQL_DESC_LENGTH:
@@ -1018,31 +1014,27 @@
break;
case SQL_DESC_LITERAL_PREFIX:
- MYODBCC::doStrNCpy( (SQLWCHAR*)pValuePtr, nBufferLength / sizeof(SQLWCHAR),
getLiteralPrefix().utf16() );
*pnStringLengthPtr = getLiteralPrefix().length() * sizeof(SQLWCHAR);
- if ( *pnStringLengthPtr > nBufferLength )
- MYODBCDbgReturn( SQL_SUCCESS_WITH_INFO );
+ if ( !MYODBCC::doStringCopyOut( (SQLWCHAR*)pValuePtr, nBufferLength /
sizeof(SQLWCHAR), getLiteralPrefix().utf16() ) )
+ MYODBCDbgReturn( getDescriptor()->getDiagnostic()->doAppend(
MDiagnostic::DIA_01004 ) );
break;
case SQL_DESC_LITERAL_SUFFIX:
- MYODBCC::doStrNCpy( (SQLWCHAR*)pValuePtr, nBufferLength / sizeof(SQLWCHAR),
getLiteralSuffix().utf16() );
*pnStringLengthPtr = getLiteralSuffix().length() * sizeof(SQLWCHAR);
- if ( *pnStringLengthPtr > nBufferLength )
- MYODBCDbgReturn( SQL_SUCCESS_WITH_INFO );
+ if ( !MYODBCC::doStringCopyOut( (SQLWCHAR*)pValuePtr, nBufferLength /
sizeof(SQLWCHAR), getLiteralSuffix().utf16() ) )
+ MYODBCDbgReturn( getDescriptor()->getDiagnostic()->doAppend(
MDiagnostic::DIA_01004 ) );
break;
case SQL_DESC_LOCAL_TYPE_NAME:
- MYODBCC::doStrNCpy( (SQLWCHAR*)pValuePtr, nBufferLength / sizeof(SQLWCHAR),
getLocalTypeName().utf16() );
*pnStringLengthPtr = getLocalTypeName().length() * sizeof(SQLWCHAR);
- if ( *pnStringLengthPtr > nBufferLength )
- MYODBCDbgReturn( SQL_SUCCESS_WITH_INFO );
+ if ( !MYODBCC::doStringCopyOut( (SQLWCHAR*)pValuePtr, nBufferLength /
sizeof(SQLWCHAR), getLocalTypeName().utf16() ) )
+ MYODBCDbgReturn( getDescriptor()->getDiagnostic()->doAppend(
MDiagnostic::DIA_01004 ) );
break;
case SQL_DESC_NAME:
- MYODBCC::doStrNCpy( (SQLWCHAR*)pValuePtr, nBufferLength / sizeof(SQLWCHAR),
getName().utf16() );
*pnStringLengthPtr = getName().length() * sizeof(SQLWCHAR);
- if ( *pnStringLengthPtr > nBufferLength )
- MYODBCDbgReturn( SQL_SUCCESS_WITH_INFO );
+ if ( !MYODBCC::doStringCopyOut( (SQLWCHAR*)pValuePtr, nBufferLength /
sizeof(SQLWCHAR), getName().utf16() ) )
+ MYODBCDbgReturn( getDescriptor()->getDiagnostic()->doAppend(
MDiagnostic::DIA_01004 ) );
break;
case SQL_DESC_NULLABLE:
@@ -1074,10 +1066,9 @@
break;
case SQL_DESC_SCHEMA_NAME:
- MYODBCC::doStrNCpy( (SQLWCHAR*)pValuePtr, nBufferLength / sizeof(SQLWCHAR),
getSchemaName().utf16() );
*pnStringLengthPtr = getSchemaName().length() * sizeof(SQLWCHAR);
- if ( *pnStringLengthPtr > nBufferLength )
- MYODBCDbgReturn( SQL_SUCCESS_WITH_INFO );
+ if ( !MYODBCC::doStringCopyOut( (SQLWCHAR*)pValuePtr, nBufferLength /
sizeof(SQLWCHAR), getSchemaName().utf16() ) )
+ MYODBCDbgReturn( getDescriptor()->getDiagnostic()->doAppend(
MDiagnostic::DIA_01004 ) );
break;
case SQL_DESC_SEARCHABLE:
@@ -1085,10 +1076,9 @@
break;
case SQL_DESC_TABLE_NAME:
- MYODBCC::doStrNCpy( (SQLWCHAR*)pValuePtr, nBufferLength / sizeof(SQLWCHAR),
getTableName().utf16() );
*pnStringLengthPtr = getTableName().length() * sizeof(SQLWCHAR);
- if ( *pnStringLengthPtr > nBufferLength )
- MYODBCDbgReturn( SQL_SUCCESS_WITH_INFO );
+ if ( !MYODBCC::doStringCopyOut( (SQLWCHAR*)pValuePtr, nBufferLength /
sizeof(SQLWCHAR), getTableName().utf16() ) )
+ MYODBCDbgReturn( getDescriptor()->getDiagnostic()->doAppend(
MDiagnostic::DIA_01004 ) );
break;
case SQL_DESC_TYPE:
@@ -1096,10 +1086,9 @@
break;
case SQL_DESC_TYPE_NAME:
- MYODBCC::doStrNCpy( (SQLWCHAR*)pValuePtr, nBufferLength / sizeof(SQLWCHAR),
getTypeName().utf16() );
*pnStringLengthPtr = getTypeName().length() * sizeof(SQLWCHAR);
- if ( *pnStringLengthPtr > nBufferLength )
- MYODBCDbgReturn( SQL_SUCCESS_WITH_INFO );
+ if ( !MYODBCC::doStringCopyOut( (SQLWCHAR*)pValuePtr, nBufferLength /
sizeof(SQLWCHAR), getTypeName().utf16() ) )
+ MYODBCDbgReturn( getDescriptor()->getDiagnostic()->doAppend(
MDiagnostic::DIA_01004 ) );
break;
case SQL_DESC_UNNAMED:
Modified: MYSQLPlus/MYSQLPlusLib/MDiagnostic.cpp
===================================================================
--- MYSQLPlus/MYSQLPlusLib/MDiagnostic.cpp 2006-05-19 15:10:42 UTC (rev 259)
+++ MYSQLPlus/MYSQLPlusLib/MDiagnostic.cpp 2006-05-19 15:39:39 UTC (rev 260)
@@ -303,10 +303,8 @@
if ( nBufferLength < 1 || stringDynamicFunction.isNull() )
MYODBCDbgReturn( SQL_ERROR );
- MYODBCC::doStrNCpy( (SQLWCHAR*)pDiagInfoPtr, nBufferLength /
sizeof(SQLWCHAR), stringDynamicFunction.utf16() );
*pnStringLengthPtr = stringDynamicFunction.length() * sizeof(SQLWCHAR);
-
- if ( *pnStringLengthPtr > nBufferLength )
+ if ( !MYODBCC::doStringCopyOut( (SQLWCHAR*)pDiagInfoPtr, nBufferLength /
sizeof(SQLWCHAR), stringDynamicFunction.utf16() ) )
MYODBCDbgReturn( SQL_SUCCESS_WITH_INFO );
}
break;
Modified: MYSQLPlus/MYSQLPlusLib/MDiagnosticRecord.cpp
===================================================================
--- MYSQLPlus/MYSQLPlusLib/MDiagnosticRecord.cpp 2006-05-19 15:10:42 UTC (rev 259)
+++ MYSQLPlus/MYSQLPlusLib/MDiagnosticRecord.cpp 2006-05-19 15:39:39 UTC (rev 260)
@@ -147,10 +147,8 @@
if ( nBufferLength < 1 || stringClassOrigin.isNull() )
MYODBCDbgReturn( SQL_ERROR );
- MYODBCC::doStrNCpy( (SQLWCHAR*)pDiagInfoPtr, nBufferLength /
sizeof(SQLWCHAR), stringClassOrigin.utf16() );
*pnStringLengthPtr = stringClassOrigin.length() * sizeof(SQLWCHAR);
-
- if ( *pnStringLengthPtr > nBufferLength )
+ if ( !MYODBCC::doStringCopyOut( (SQLWCHAR*)pDiagInfoPtr, nBufferLength /
sizeof(SQLWCHAR), stringClassOrigin.utf16() ) )
MYODBCDbgReturn( SQL_SUCCESS_WITH_INFO );
}
break;
@@ -165,10 +163,8 @@
if ( nBufferLength < 1 || stringConnectionName.isNull() )
MYODBCDbgReturn( SQL_ERROR );
- MYODBCC::doStrNCpy( (SQLWCHAR*)pDiagInfoPtr, nBufferLength /
sizeof(SQLWCHAR), stringConnectionName.utf16() );
*pnStringLengthPtr = stringConnectionName.length() * sizeof(SQLWCHAR);
-
- if ( *pnStringLengthPtr > nBufferLength )
+ if ( !MYODBCC::doStringCopyOut( (SQLWCHAR*)pDiagInfoPtr, nBufferLength /
sizeof(SQLWCHAR), stringConnectionName.utf16() ) )
MYODBCDbgReturn( SQL_SUCCESS_WITH_INFO );
}
break;
@@ -179,10 +175,8 @@
if ( nBufferLength < 1 || stringMessageText.isNull() )
MYODBCDbgReturn( SQL_ERROR );
- MYODBCC::doStrNCpy( (SQLWCHAR*)pDiagInfoPtr, nBufferLength /
sizeof(SQLWCHAR), stringMessageText.utf16() );
*pnStringLengthPtr = stringMessageText.length() * sizeof(SQLWCHAR);
-
- if ( *pnStringLengthPtr > nBufferLength )
+ if ( !MYODBCC::doStringCopyOut( (SQLWCHAR*)pDiagInfoPtr, nBufferLength /
sizeof(SQLWCHAR), stringMessageText.utf16() ) )
MYODBCDbgReturn( SQL_SUCCESS_WITH_INFO );
}
break;
@@ -201,10 +195,8 @@
if ( nBufferLength < 1 || stringServerName.isNull() )
MYODBCDbgReturn( SQL_ERROR );
- MYODBCC::doStrNCpy( (SQLWCHAR*)pDiagInfoPtr, nBufferLength /
sizeof(SQLWCHAR), stringServerName.utf16() );
*pnStringLengthPtr = stringServerName.length() * sizeof(SQLWCHAR);
-
- if ( *pnStringLengthPtr > nBufferLength )
+ if ( !MYODBCC::doStrNCpy( (SQLWCHAR*)pDiagInfoPtr, nBufferLength /
sizeof(SQLWCHAR), stringServerName.utf16() ) )
MYODBCDbgReturn( SQL_SUCCESS_WITH_INFO );
}
break;
Modified: MYSQLPlus/MYSQLPlusLib/MResult.cpp
===================================================================
--- MYSQLPlus/MYSQLPlusLib/MResult.cpp 2006-05-19 15:10:42 UTC (rev 259)
+++ MYSQLPlus/MYSQLPlusLib/MResult.cpp 2006-05-19 15:39:39 UTC (rev 260)
@@ -1022,7 +1022,7 @@
QString stringData = resultGetData.variantData.toString();
if ( resultGetData.pTarget && resultGetData.nBytesMax )
{
- if ( MYODBCC::doStringCopy( (SQLCHAR*)resultGetData.pTarget,
resultGetData.nBytesMax, stringData.toAscii().data() ) )
+ if ( MYODBCC::doStringCopyOut( (SQLCHAR*)resultGetData.pTarget,
resultGetData.nBytesMax, stringData.toAscii().data() ) )
{
variantData.clear();
if ( resultGetData.pnBytesRemaining ) *resultGetData.pnBytesRemaining = 0;
@@ -1072,7 +1072,7 @@
QString stringData = resultGetData.variantData.toString();
if ( resultGetData.pTarget && resultGetData.nBytesMax )
{
- if ( MYODBCC::doStringCopy( (SQLWCHAR*)resultGetData.pTarget,
resultGetData.nBytesMax / sizeof(SQLWCHAR), stringData.utf16() ) )
+ if ( MYODBCC::doStringCopyOut( (SQLWCHAR*)resultGetData.pTarget,
resultGetData.nBytesMax / sizeof(SQLWCHAR), stringData.utf16() ) )
{
variantData.clear();
if ( resultGetData.pnBytesRemaining ) *resultGetData.pnBytesRemaining = 0;
| Thread |
|---|
| • Connector/ODBC 5 commit: r260 - MYODBCC/MYODBCCLib MYODBCC/include MYSQLPlus/MYSQLPlusLib | pharvey | 19 May |