diff options
Diffstat (limited to 'connectivity/source/commontools/FValue.cxx')
-rw-r--r-- | connectivity/source/commontools/FValue.cxx | 34 |
1 files changed, 18 insertions, 16 deletions
diff --git a/connectivity/source/commontools/FValue.cxx b/connectivity/source/commontools/FValue.cxx index 433b5ffc69ec..cd09efa227fe 100644 --- a/connectivity/source/commontools/FValue.cxx +++ b/connectivity/source/commontools/FValue.cxx @@ -37,6 +37,7 @@ #include <connectivity/dbconversion.hxx> #include <cppuhelper/extract.hxx> #include <com/sun/star/io/XInputStream.hpp> +#include <rtl/ustrbuf.hxx> #include <rtl/logfile.hxx> using namespace connectivity; @@ -984,12 +985,13 @@ Any ORowSetValue::makeAny() const case DataType::VARBINARY: case DataType::LONGVARBINARY: { - aRet = ::rtl::OUString::createFromAscii("0x"); + ::rtl::OUStringBuffer sVal = ::rtl::OUString::createFromAscii("0x"); Sequence<sal_Int8> aSeq(getSequence()); const sal_Int8* pBegin = aSeq.getConstArray(); const sal_Int8* pEnd = pBegin + aSeq.getLength(); for(;pBegin != pEnd;++pBegin) - aRet += ::rtl::OUString::valueOf((sal_Int32)*pBegin,16); + sVal.append((sal_Int32)*pBegin,16); + aRet = sVal.makeStringAndClear(); } break; case DataType::BIT: @@ -1972,20 +1974,20 @@ void ORowSetValue::fill(const Any& _rValue) setSigned(sal_False); break; } - case TypeClass_HYPER:
- {
- sal_Int64 nValue(0);
- _rValue >>= nValue;
- (*this) = nValue;
- break;
- }
- case TypeClass_UNSIGNED_HYPER:
- {
- sal_uInt64 nValue(0);
- _rValue >>= nValue;
- (*this) = static_cast<sal_Int64>(nValue);
- setSigned(sal_False);
- break;
+ case TypeClass_HYPER: + { + sal_Int64 nValue(0); + _rValue >>= nValue; + (*this) = nValue; + break; + } + case TypeClass_UNSIGNED_HYPER: + { + sal_uInt64 nValue(0); + _rValue >>= nValue; + (*this) = static_cast<sal_Int64>(nValue); + setSigned(sal_False); + break; } case TypeClass_UNSIGNED_LONG: { |