From 3ac3aff895ceb466934a2e22641f5340ea6d23f7 Mon Sep 17 00:00:00 2001 From: Lionel Elie Mamane Date: Fri, 18 Dec 2015 16:54:00 +0100 Subject: tdf#96572 firebird correctly transmit request for NULL even if column is not nullable Change-Id: I72ceda68e983125aef26c8f0aacc06320bd16b77 --- .../source/drivers/firebird/PreparedStatement.cxx | 10 +++++----- connectivity/source/drivers/firebird/Util.cxx | 16 +++++----------- 2 files changed, 10 insertions(+), 16 deletions(-) diff --git a/connectivity/source/drivers/firebird/PreparedStatement.cxx b/connectivity/source/drivers/firebird/PreparedStatement.cxx index fbc2faea8719..5e3758ae619f 100644 --- a/connectivity/source/drivers/firebird/PreparedStatement.cxx +++ b/connectivity/source/drivers/firebird/PreparedStatement.cxx @@ -706,13 +706,13 @@ void OPreparedStatement::setParameterNull(sal_Int32 nParameterIndex, bool bSetNull) { XSQLVAR* pVar = m_pInSqlda->sqlvar + (nParameterIndex - 1); - if (pVar->sqltype & 1) + if (bSetNull) { - if (bSetNull) - *pVar->sqlind = -1; - else - *pVar->sqlind = 0; + pVar->sqltype |= 1; + *pVar->sqlind = -1; } + else + *pVar->sqlind = 0; } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/connectivity/source/drivers/firebird/Util.cxx b/connectivity/source/drivers/firebird/Util.cxx index ddb9d022c3e9..00eb4aa3f62e 100644 --- a/connectivity/source/drivers/firebird/Util.cxx +++ b/connectivity/source/drivers/firebird/Util.cxx @@ -254,11 +254,8 @@ void firebird::mallocSQLVAR(XSQLDA* pSqlda) assert(false); break; } - if (pVar->sqltype & 1) - { - /* allocate variable to hold NULL status */ - pVar->sqlind = static_cast(malloc(sizeof(short))); - } + /* allocate variable to hold NULL status */ + pVar->sqlind = static_cast(malloc(sizeof(short))); } } @@ -302,13 +299,10 @@ void firebird::freeSQLVAR(XSQLDA* pSqlda) break; } - if (pVar->sqltype & 1) + if(pVar->sqlind) { - if(pVar->sqlind) - { - free(pVar->sqlind); - pVar->sqlind = nullptr; - } + free(pVar->sqlind); + pVar->sqlind = nullptr; } } } -- cgit v1.2.1