sw/source/filter/ascii/parasc.cxx | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-)
New commits: commit cb34b8ad6fb5612411b5364bb0a0d673235c9770 Author: Noel Grandin <noelgran...@gmail.com> AuthorDate: Mon Aug 8 19:04:40 2022 +0200 Commit: Noel Grandin <noel.gran...@collabora.co.uk> CommitDate: Thu Aug 11 10:32:59 2022 +0200 unique_ptr->optional in SwASCIIParser Change-Id: I46cb62609c738a12cb988aa9c09171403e33c619 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138105 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk> diff --git a/sw/source/filter/ascii/parasc.cxx b/sw/source/filter/ascii/parasc.cxx index 7c88eae3c7b0..9d2be5e85000 100644 --- a/sw/source/filter/ascii/parasc.cxx +++ b/sw/source/filter/ascii/parasc.cxx @@ -51,7 +51,7 @@ namespace { class SwASCIIParser { SwDoc& m_rDoc; - std::unique_ptr<SwPaM> m_pPam; + std::optional<SwPaM> m_oPam; SvStream& m_rInput; std::unique_ptr<char[]> m_pArr; const SwAsciiOptions& m_rOpt; @@ -112,7 +112,7 @@ SwASCIIParser::SwASCIIParser(SwDoc& rD, const SwPaM& rCursor, SvStream& rIn, boo , m_nScript(SvtScriptType::NONE) , m_bNewDoc(bReadNewDoc) { - m_pPam.reset(new SwPaM(*rCursor.GetPoint())); + m_oPam.emplace(*rCursor.GetPoint()); m_pArr.reset(new char[ASC_BUFFLEN + 2]); m_oItemSet.emplace( @@ -159,9 +159,9 @@ ErrCode SwASCIIParser::CallParser() sal_Int32 nSttContent = 0; if (!m_bNewDoc) { - const SwNodeIndex& rTmp = m_pPam->GetPoint()->nNode; + const SwNodeIndex& rTmp = m_oPam->GetPoint()->nNode; pInsPam.emplace( rTmp, rTmp, SwNodeOffset(0), SwNodeOffset(-1) ); - nSttContent = m_pPam->GetPoint()->GetContentIndex(); + nSttContent = m_oPam->GetPoint()->GetContentIndex(); } SwTextFormatColl *pColl = nullptr; @@ -174,7 +174,7 @@ ErrCode SwASCIIParser::CallParser() pColl = m_rDoc.getIDocumentStylePoolAccess().GetTextCollFromPool(RES_POOLCOLL_STANDARD, false); if (pColl) - m_rDoc.SetTextFormatColl(*m_pPam, pColl); + m_rDoc.SetTextFormatColl(*m_oPam, pColl); } ErrCode nError = ReadChars(); @@ -238,7 +238,7 @@ ErrCode SwASCIIParser::CallParser() else if( pInsPam ) { // then set over the insert range the defined attributes - *pInsPam->GetMark() = *m_pPam->GetPoint(); + *pInsPam->GetMark() = *m_oPam->GetPoint(); pInsPam->GetPoint()->Assign(pInsPam->GetPoint()->GetNode(), SwNodeOffset(1), nSttContent ); @@ -393,7 +393,7 @@ ErrCode SwASCIIParser::ReadChars() nLineLen = 0; // We skip the last one at the end if (!m_rInput.eof() || !(pEnd == pStt || (!*pEnd && pEnd == pStt + 1))) - m_rDoc.getIDocumentContentOperations().SplitNode(*m_pPam->GetPoint(), false); + m_rDoc.getIDocumentContentOperations().SplitNode(*m_oPam->GetPoint(), false); } } @@ -445,10 +445,10 @@ ErrCode SwASCIIParser::ReadChars() { InsertText( OUString( pLastStt )); } - m_rDoc.getIDocumentContentOperations().SplitNode(*m_pPam->GetPoint(), + m_rDoc.getIDocumentContentOperations().SplitNode(*m_oPam->GetPoint(), false); m_rDoc.getIDocumentContentOperations().InsertPoolItem( - *m_pPam, SvxFormatBreakItem(SvxBreak::PageBefore, RES_BREAK)); + *m_oPam, SvxFormatBreakItem(SvxBreak::PageBefore, RES_BREAK)); pLastStt = pStt; nLineLen = 0; bIns = false; @@ -479,7 +479,7 @@ ErrCode SwASCIIParser::ReadChars() sal_Unicode c = *pStt; *pStt = 0; InsertText( OUString( pLastStt )); - m_rDoc.getIDocumentContentOperations().SplitNode(*m_pPam->GetPoint(), false); + m_rDoc.getIDocumentContentOperations().SplitNode(*m_oPam->GetPoint(), false); pLastStt = pStt; nLineLen = 0; *pStt = c; @@ -492,9 +492,9 @@ ErrCode SwASCIIParser::ReadChars() // We found a CR/LF, thus save the text InsertText( OUString( pLastStt )); if (m_bNewDoc) - m_rDoc.getIDocumentContentOperations().AppendTextNode(*m_pPam->GetPoint()); + m_rDoc.getIDocumentContentOperations().AppendTextNode(*m_oPam->GetPoint()); else - m_rDoc.getIDocumentContentOperations().SplitNode(*m_pPam->GetPoint(), false); + m_rDoc.getIDocumentContentOperations().SplitNode(*m_oPam->GetPoint(), false); pLastStt = pStt; nLineLen = 0; } @@ -510,7 +510,7 @@ ErrCode SwASCIIParser::ReadChars() void SwASCIIParser::InsertText( const OUString& rStr ) { - m_rDoc.getIDocumentContentOperations().InsertString(*m_pPam, rStr); + m_rDoc.getIDocumentContentOperations().InsertString(*m_oPam, rStr); if (m_oItemSet && g_pBreakIt && m_nScript != (SvtScriptType::LATIN | SvtScriptType::ASIAN | SvtScriptType::COMPLEX))