From: Vladimir T. <pr...@us...> - 2003-08-04 06:53:38
|
Update of /cvsroot/firebird/OdbcJdbc In directory sc8-pr-cvs1:/tmp/cvs-serv4483 Modified Files: Tag: v1-1-beta OdbcConvert.cpp Log Message: patch for class OdbcConvert, check null branch v1-1-beta Index: OdbcConvert.cpp =================================================================== RCS file: /cvsroot/firebird/OdbcJdbc/Attic/OdbcConvert.cpp,v retrieving revision 1.1.2.2 retrieving revision 1.1.2.3 diff -b -U3 -r1.1.2.2 -r1.1.2.3 --- OdbcConvert.cpp 26 Jul 2003 19:01:30 -0000 1.1.2.2 +++ OdbcConvert.cpp 4 Aug 2003 06:53:35 -0000 1.1.2.3 @@ -329,7 +329,7 @@ } #define ODBCCONVERT_CHECKNULL \ - if( *from->indicatorPtr == -1 ) \ + if( *(short*)from->indicatorPtr == -1 ) \ { \ if ( indicatorPointer ) \ *indicatorPointer = -1; \ @@ -342,17 +342,12 @@ SQLPOINTER pointer = getAdressData((char*)to->dataPtr); \ SQLINTEGER * indicatorPointer = (SQLINTEGER *)getAdressData((char*)to->indicatorPtr); \ \ - if( *from->indicatorPtr == -1 ) \ - { \ - if ( indicatorPointer ) \ - *indicatorPointer = -1; \ - } \ - else \ - { \ + ODBCCONVERT_CHECKNULL; \ + \ *(##C_TYPE_TO*)pointer = (##C_TYPE_TO)*(##C_TYPE_FROM*)from->dataPtr; \ if ( indicatorPointer ) \ *indicatorPointer = sizeof(##C_TYPE_TO); \ - } \ + \ return 0; \ } \ @@ -362,13 +357,8 @@ SQLPOINTER pointer = getAdressData((char*)to->dataPtr); \ SQLINTEGER * indicatorPointer = (SQLINTEGER *)getAdressData((char*)to->indicatorPtr); \ \ - if( *from->indicatorPtr == -1 ) \ - { \ - if ( indicatorPointer ) \ - *indicatorPointer = -1; \ - } \ - else \ - { \ + ODBCCONVERT_CHECKNULL; \ + \ ##C_TYPE_FROM valFrom = *(##C_TYPE_FROM*)from->dataPtr; \ if ( valFrom < 0 )valFrom -= 0.5; \ else valFrom += 0.5; \ @@ -376,7 +366,7 @@ *(##C_TYPE_TO*)pointer = (##C_TYPE_TO)valFrom; \ if ( indicatorPointer ) \ *indicatorPointer = sizeof(##C_TYPE_TO); \ - } \ + \ return 0; \ } \ @@ -557,6 +547,7 @@ *pointer++=(char)from->precision; *pointer++=(char)from->scale; if ( number < 0 ) + number = -number, *pointer++=0; else *pointer++=1; @@ -575,16 +566,13 @@ SQLPOINTER pointer = getAdressData((char*)to->dataPtr); \ SQLINTEGER * indicatorPointer = (SQLINTEGER *)getAdressData((char*)to->indicatorPtr); \ \ - if( *from->indicatorPtr == -1 ) \ - { \ - if ( indicatorPointer ) \ - *indicatorPointer = -1; \ - return 0; \ - } \ + ODBCCONVERT_CHECKNULL; \ + \ if ( indicatorPointer ) \ *indicatorPointer = 0; \ + \ return 0; \ -} +} \ \ //////////////////////////////////////////////////////////////////////// // Date |