diff options
-rw-r--r-- | connectivity/source/commontools/FValue.cxx | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/connectivity/source/commontools/FValue.cxx b/connectivity/source/commontools/FValue.cxx index 61f344bb92b5..51adab4f3e98 100644 --- a/connectivity/source/commontools/FValue.cxx +++ b/connectivity/source/commontools/FValue.cxx @@ -2086,11 +2086,19 @@ void ORowSetValue::setSigned(bool _bMod) } break; case DataType::BIGINT: + { if ( m_bSigned ) - m_aValue.m_nInt64 = static_cast<sal_Int64>(m_aValue.m_uInt64); + { + auto nTmp = static_cast<sal_Int64>(m_aValue.m_uInt64); + m_aValue.m_nInt64 = nTmp; + } else - m_aValue.m_uInt64 = static_cast<sal_uInt64>(m_aValue.m_nInt64); + { + auto nTmp = static_cast<sal_uInt64>(m_aValue.m_nInt64); + m_aValue.m_uInt64 = nTmp; + } break; + } } m_eTypeKind = nType; } |