diff options
author | Noel Grandin <noel.grandin@collabora.co.uk> | 2018-09-05 15:56:31 +0200 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2018-09-06 08:32:55 +0200 |
commit | 16afac775a048d6d57d43952c855345f47cb231f (patch) | |
tree | 9c266f7a574711b15f4d31b18d78807c9521bd68 /connectivity | |
parent | 37d93222377d7b1df05bbcbc5f56fdc0732f1413 (diff) |
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')
-rw-r--r-- | connectivity/source/drivers/odbc/OResultSetMetaData.cxx | 15 |
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); } |