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))

Reply via email to