From: Vladimir T. <pr...@us...> - 2003-07-31 18:37:44
|
Update of /cvsroot/firebird/OdbcJdbc/IscDbc In directory sc8-pr-cvs1:/tmp/cvs-serv12826 Modified Files: Tag: v1-1-beta Sqlda.h Sqlda.cpp Log Message: Contributed by Roger Gammans patch for Sqlda::allocBuffer(), fixed problem correct size for the string branch v1-1-beta Index: Sqlda.h =================================================================== RCS file: /cvsroot/firebird/OdbcJdbc/IscDbc/Sqlda.h,v retrieving revision 1.3.2.4 retrieving revision 1.3.2.5 diff -b -U3 -r1.3.2.4 -r1.3.2.5 --- Sqlda.h 28 Jul 2003 17:53:39 -0000 1.3.2.4 +++ Sqlda.h 31 Jul 2003 18:37:41 -0000 1.3.2.5 @@ -93,6 +93,7 @@ char tempSqlda [XSQLDA_LENGTH (DEFAULT_SQLDA_COUNT)]; char *buffer; TempVector *temps; + bool needsbuffer; }; #endif // !defined(AFX_SQLDA_H__6C3E2AB9_229F_11D4_98DF_0000C01D2301__INCLUDED_) Index: Sqlda.cpp =================================================================== RCS file: /cvsroot/firebird/OdbcJdbc/IscDbc/Sqlda.cpp,v retrieving revision 1.5.2.6 retrieving revision 1.5.2.7 diff -b -U3 -r1.5.2.6 -r1.5.2.7 --- Sqlda.cpp 30 Jul 2003 14:45:18 -0000 1.5.2.6 +++ Sqlda.cpp 31 Jul 2003 18:37:41 -0000 1.5.2.7 @@ -298,6 +298,7 @@ indicatorsOffset = 0; saveOrgAdressSqlData = NULL; saveOrgAdressSqlInd = NULL; + needsbuffer = true; } Sqlda::~Sqlda() @@ -342,11 +343,20 @@ sqlda->version = SQLDA_VERSION1; sqlda->sqln = count; + needsbuffer = true; + return true; } void Sqlda::allocBuffer() { + //We've already done it, + // doing it again lengthens SQL_TEXT areas and causes + // trouble. Contributed by Roger Gammans + if (!needsbuffer) return; + + needsbuffer = false; + if (buffer) { delete [] buffer; |