sc/source/filter/excel/xeformula.cxx | 39 ++++++++++++---------- sc/source/filter/excel/xelink.cxx | 60 ++++++++++++++--------------------- 2 files changed, 47 insertions(+), 52 deletions(-)
New commits: commit 243e811abc441ec7f55e1395f23343dfa6f7c812 Author: Caolán McNamara <caolan.mcnam...@collabora.com> AuthorDate: Wed Jun 5 10:14:49 2024 +0100 Commit: Caolán McNamara <caolan.mcnam...@collabora.com> CommitDate: Wed Jun 5 13:40:42 2024 +0200 cid#1603200 Uninitialized scalar variable cid#1603199 Uninitialized scalar variable and other fixups for: commit fbe8071e4f6be57d3e372d69a4c7cc4d37a83eb9 Date: Sat Oct 15 14:20:31 2022 +0200 refactor functions: return optional instead of bool Change-Id: I192017d0fc710ada7686e4c6dd313727b02f3889 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168453 Reviewed-by: Eike Rathke <er...@redhat.com> Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnam...@collabora.com> diff --git a/sc/source/filter/excel/xeformula.cxx b/sc/source/filter/excel/xeformula.cxx index 688a9f147217..16bd88715d54 100644 --- a/sc/source/filter/excel/xeformula.cxx +++ b/sc/source/filter/excel/xeformula.cxx @@ -452,6 +452,13 @@ private: void AppendExt( double fData ); void AppendExt( const OUString& rString ); + std::optional<std::pair<sal_uInt16, sal_uInt16>> InsertDde(const OUString& rApplic, const OUString& rTopic, const OUString& rItem) + { + if (!mxData->mpLinkMgr) + return {}; + return mxData->mpLinkMgr->InsertDde(rApplic, rTopic, rItem); + } + private: typedef std::map< XclFormulaType, XclExpCompConfig > XclExpCompConfigMap; typedef std::shared_ptr< XclExpCompData > XclExpCompDataRef; @@ -1292,16 +1299,13 @@ void XclExpFmlaCompImpl::ProcessDdeLink( const XclExpScToken& rTokData ) if( mxData->mbOk ) mxData->mbOk = !aApplic.isEmpty() && !aTopic.isEmpty() && !aItem.isEmpty(); if( mxData->mbOk ) { - if ( mxData->mpLinkMgr ) - { - const auto oResult = mxData->mpLinkMgr->InsertDde( aApplic, aTopic, aItem); + const auto oResult = InsertDde(aApplic, aTopic, aItem); - if ( oResult ) { - AppendNameXToken( oResult->first, oResult->second, rTokData.mnSpaces ); - } - else { - AppendErrorToken( EXC_ERR_NA, rTokData.mnSpaces ); - } + if ( oResult ) { + AppendNameXToken( oResult->first, oResult->second, rTokData.mnSpaces ); + } + else { + AppendErrorToken( EXC_ERR_NA, rTokData.mnSpaces ); } } } @@ -2438,9 +2442,11 @@ void XclExpFmlaCompImpl::AppendAddInCallToken( const XclExpExtFuncData& rExtFunc if( mxData->mpLinkMgr && ScGlobal::GetAddInCollection()->GetExcelName( rExtFuncData.maFuncName, GetUILanguage(), aXclFuncName ) ) { const auto oResult = mxData->mpLinkMgr->InsertAddIn( aXclFuncName ); - AppendNameXToken(oResult->first, oResult->second); - return; - + if (oResult) + { + AppendNameXToken(oResult->first, oResult->second); + return; + } } AppendMacroCallToken( rExtFuncData ); } @@ -2450,14 +2456,13 @@ void XclExpFmlaCompImpl::AppendEuroToolCallToken( const XclExpExtFuncData& rExtF if ( mxData->mpLinkMgr ) { const auto oResult = mxData->mpLinkMgr->InsertEuroTool( rExtFuncData.maFuncName ); - - if ( oResult ) { + if ( oResult ) + { AppendNameXToken( oResult->first, oResult->second ); - } - else { - AppendMacroCallToken( rExtFuncData ); + return; } } + AppendMacroCallToken( rExtFuncData ); } void XclExpFmlaCompImpl::AppendOperatorTokenId( sal_uInt8 nTokenId, const XclExpOperandListRef& rxOperands, sal_uInt8 nSpaces ) diff --git a/sc/source/filter/excel/xelink.cxx b/sc/source/filter/excel/xelink.cxx index dff69ed799ab..47217e2d775c 100644 --- a/sc/source/filter/excel/xelink.cxx +++ b/sc/source/filter/excel/xelink.cxx @@ -1989,18 +1989,17 @@ std::optional<std::pair<sal_uInt16, sal_uInt16>> XclExpSupbookBuffer::InsertEuro { XclExpSupbookRef xSupbook; OUString aUrl( u"EUROTOOL.XLA"_ustr ); - const auto& nSupbookId = GetSupbookUrl(xSupbook, aUrl); - sal_uInt16 nSupbook; - if( !nSupbookId ) + auto nSupbookId = GetSupbookUrl(xSupbook, aUrl); + if (!nSupbookId) { xSupbook = new XclExpSupbook( GetRoot(), aUrl, XclSupbookType::Eurotool ); - nSupbook = Append( xSupbook ); + nSupbookId = Append(xSupbook); } auto nExtName = xSupbook->InsertEuroTool( rName ); if( nExtName > 0) { - return std::make_pair(nSupbook, nExtName); + return std::make_pair(*nSupbookId, nExtName); } return {}; } @@ -2010,16 +2009,15 @@ std::optional<std::pair<sal_uInt16, sal_uInt16>> XclExpSupbookBuffer::InsertDde( { XclExpSupbookRef xSupbook; auto nSupbookDde = GetSupbookDde( xSupbook, rApplic, rTopic ); - sal_uInt16 nSupbook; - if( !nSupbookDde ) + if (!nSupbookDde) { xSupbook = new XclExpSupbook( GetRoot(), rApplic, rTopic ); - nSupbook = Append(xSupbook); + nSupbookDde = Append(xSupbook); } auto nExtName = xSupbook->InsertDde( rItem ); if (nExtName > 0) { - return std::make_pair(nSupbook, nExtName); + return std::make_pair(*nSupbookDde, nExtName); } return {}; } @@ -2028,17 +2026,17 @@ std::optional<std::pair<sal_uInt16, sal_uInt16>> XclExpSupbookBuffer::InsertExtN const OUString& rName, const ScExternalRefCache::TokenArrayRef& rArray ) { XclExpSupbookRef xSupbook; - const auto& nSupbookId = GetSupbookUrl(xSupbook, rUrl); - sal_uInt16 nSupbook; - if (!nSupbookId) { + auto nSupbookId = GetSupbookUrl(xSupbook, rUrl); + if (!nSupbookId) + { xSupbook = new XclExpSupbook(GetRoot(), rUrl); - nSupbook = Append(xSupbook); + nSupbookId = Append(xSupbook); } auto nExtName = xSupbook->InsertExtName(rName, rArray); if (nExtName > 0) { - return std::make_pair(nSupbook, nExtName); + return std::make_pair(*nSupbookId, nExtName); } return {}; } @@ -2178,7 +2176,7 @@ std::optional<sal_uInt16> XclExpSupbookBuffer::GetSupbookUrl( rxSupbook = maSupbookList.GetRecord( nPos ); if( rxSupbook->IsUrlLink( rUrl ) ) { - return ulimit_cast< sal_uInt16 >( nPos ); + return ulimit_cast< sal_uInt16 >( nPos ); } } return {}; @@ -2465,43 +2463,35 @@ void XclExpLinkManagerImpl8::StoreCellRange( sal_uInt16 nFileId, const OUString& std::optional<std::pair<sal_uInt16, sal_uInt16>> XclExpLinkManagerImpl8::InsertAddIn( const OUString& rName ) { - sal_uInt16 nSupbook(0); - if( maSBBuffer.InsertAddIn( rName ) ) - { - return std::make_pair(InsertXti( XclExpXti( nSupbook, EXC_TAB_EXTERNAL, EXC_TAB_EXTERNAL ) ), 0); - } + const auto& rResult = maSBBuffer.InsertAddIn(rName); + if (rResult) + return std::make_pair(InsertXti( XclExpXti( rResult->first, EXC_TAB_EXTERNAL, EXC_TAB_EXTERNAL ) ), rResult->second); return {}; } std::optional<std::pair<sal_uInt16, sal_uInt16>> XclExpLinkManagerImpl8::InsertEuroTool( const OUString& rName ) { - sal_uInt16 nSupbook(0); - if( maSBBuffer.InsertEuroTool( rName ) ) - { - return std::make_pair(InsertXti( XclExpXti( nSupbook, EXC_TAB_EXTERNAL, EXC_TAB_EXTERNAL ) ), 0); - } + const auto& rResult = maSBBuffer.InsertEuroTool(rName); + if (rResult) + return std::make_pair(InsertXti( XclExpXti( rResult->first, EXC_TAB_EXTERNAL, EXC_TAB_EXTERNAL ) ), rResult->second); return {}; } std::optional<std::pair<sal_uInt16, sal_uInt16>> XclExpLinkManagerImpl8::InsertDde( const OUString& rApplic, const OUString& rTopic, const OUString& rItem ) { - sal_uInt16 nSupbook(0); - if( maSBBuffer.InsertDde( rApplic, rTopic, rItem ) ) - { - return std::make_pair(InsertXti( XclExpXti( nSupbook, EXC_TAB_EXTERNAL, EXC_TAB_EXTERNAL ) ), 0); - } + const auto& rResult = maSBBuffer.InsertDde(rApplic, rTopic, rItem); + if (rResult) + return std::make_pair(InsertXti( XclExpXti( rResult->first, EXC_TAB_EXTERNAL, EXC_TAB_EXTERNAL ) ), rResult->second); return {}; } std::optional<std::pair<sal_uInt16, sal_uInt16>> XclExpLinkManagerImpl8::InsertExtName( const OUString& rUrl, const OUString& rName, const ScExternalRefCache::TokenArrayRef& rArray ) { - sal_uInt16 nSupbook(0); - if( maSBBuffer.InsertExtName( rUrl, rName, rArray ) ) - { - return std::make_pair(InsertXti( XclExpXti( nSupbook, EXC_TAB_EXTERNAL, EXC_TAB_EXTERNAL ) ), 0); - } + const auto& rResult = maSBBuffer.InsertExtName(rUrl, rName, rArray); + if (rResult) + return std::make_pair(InsertXti( XclExpXti( rResult->first, EXC_TAB_EXTERNAL, EXC_TAB_EXTERNAL ) ), rResult->second); return {}; }