summaryrefslogtreecommitdiffstats
path: root/connectivity/source
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2018-09-05 15:56:31 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2018-09-06 08:32:55 +0200
commit16afac775a048d6d57d43952c855345f47cb231f (patch)
tree9c266f7a574711b15f4d31b18d78807c9521bd68 /connectivity/source
parentloplugin:useuniqueptr in framework::Frame (diff)
downloadcore-16afac775a048d6d57d43952c855345f47cb231f.tar.gz
core-16afac775a048d6d57d43952c855345f47cb231f.zip
loplugin:useuniqueptr in OResultSetMetaData
Change-Id: I74a12381a222fb3b394176db41cb9d6a9091d5a3 Reviewed-on: https://gerrit.libreoffice.org/60052 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'connectivity/source')
-rw-r--r--connectivity/source/drivers/odbc/OResultSetMetaData.cxx15
1 files changed, 7 insertions, 8 deletions
diff --git a/connectivity/source/drivers/odbc/OResultSetMetaData.cxx b/connectivity/source/drivers/odbc/OResultSetMetaData.cxx
index fcf4ce65374d..6eb19d6b945f 100644
--- a/connectivity/source/drivers/odbc/OResultSetMetaData.cxx
+++ b/connectivity/source/drivers/odbc/OResultSetMetaData.cxx
@@ -37,12 +37,12 @@ OUString OResultSetMetaData::getCharColAttrib(sal_Int32 _column,sal_Int32 ident)
column = m_vMapping[_column];
SQLSMALLINT BUFFER_LEN = 128;
- char *pName = new char[BUFFER_LEN+1];
+ std::unique_ptr<char[]> pName(new char[BUFFER_LEN+1]);
SQLSMALLINT nRealLen=0;
SQLRETURN nRet = N3SQLColAttribute(m_aStatementHandle,
static_cast<SQLUSMALLINT>(column),
static_cast<SQLUSMALLINT>(ident),
- static_cast<SQLPOINTER>(pName),
+ static_cast<SQLPOINTER>(pName.get()),
BUFFER_LEN,
&nRealLen,
nullptr
@@ -52,24 +52,23 @@ OUString OResultSetMetaData::getCharColAttrib(sal_Int32 _column,sal_Int32 ident)
{
if ( nRealLen < 0 )
nRealLen = BUFFER_LEN;
- sValue = OUString(pName,nRealLen,m_pConnection->getTextEncoding());
+ sValue = OUString(pName.get(),nRealLen,m_pConnection->getTextEncoding());
}
- delete [] pName;
+ pName.reset();
OTools::ThrowException(m_pConnection,nRet,m_aStatementHandle,SQL_HANDLE_STMT,*this);
if(nRealLen > BUFFER_LEN)
{
- pName = new char[nRealLen+1];
+ pName.reset(new char[nRealLen+1]);
nRet = N3SQLColAttribute(m_aStatementHandle,
static_cast<SQLUSMALLINT>(column),
static_cast<SQLUSMALLINT>(ident),
- static_cast<SQLPOINTER>(pName),
+ static_cast<SQLPOINTER>(pName.get()),
nRealLen,
&nRealLen,
nullptr
);
if ( nRet == SQL_SUCCESS && nRealLen > 0)
- sValue = OUString(pName,nRealLen,m_pConnection->getTextEncoding());
- delete [] pName;
+ sValue = OUString(pName.get(),nRealLen,m_pConnection->getTextEncoding());
OTools::ThrowException(m_pConnection,nRet,m_aStatementHandle,SQL_HANDLE_STMT,*this);
}