summaryrefslogtreecommitdiff
path: root/sw/source/filter/ascii
diff options
context:
space:
mode:
authorNoel Grandin <noelgrandin@gmail.com>2022-08-08 19:04:40 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2022-08-11 10:32:59 +0200
commitcb34b8ad6fb5612411b5364bb0a0d673235c9770 (patch)
treee2bcecdcd264f7fa7af3cd56871c064b739a05f9 /sw/source/filter/ascii
parentc8ef47651a32c9cd00183d51fb31912990b89793 (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.cxx26
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))