diff options
author | Noel Grandin <noelgrandin@gmail.com> | 2022-08-08 19:04:40 +0200 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2022-08-11 10:32:59 +0200 |
commit | cb34b8ad6fb5612411b5364bb0a0d673235c9770 (patch) | |
tree | e2bcecdcd264f7fa7af3cd56871c064b739a05f9 /sw/source/filter/ascii | |
parent | c8ef47651a32c9cd00183d51fb31912990b89793 (diff) |
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.grandin@collabora.co.uk>
Diffstat (limited to 'sw/source/filter/ascii')
-rw-r--r-- | sw/source/filter/ascii/parasc.cxx | 26 |
1 files changed, 13 insertions, 13 deletions
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)) |