hwpfilter/source/hwpreader.cxx |  142 +++++++++++++++++++++--------------------
 1 file changed, 76 insertions(+), 66 deletions(-)

New commits:
commit 2c82ed241648dadd8326f0847479a4959385a6f1
Author:     Mike Kaganski <mike.kagan...@collabora.com>
AuthorDate: Fri Mar 4 16:01:17 2022 +0300
Commit:     Mike Kaganski <mike.kagan...@collabora.com>
CommitDate: Sat Mar 5 06:21:47 2022 +0100

    Convert some macros to local lambdas
    
    Change-Id: I22942588c7e7ebfb3f53cc5739d2bbd9a7ccfd41
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130983
    Tested-by: Jenkins
    Reviewed-by: Mike Kaganski <mike.kagan...@collabora.com>

diff --git a/hwpfilter/source/hwpreader.cxx b/hwpfilter/source/hwpreader.cxx
index cb484b4fa814..d6fdf29d1407 100644
--- a/hwpfilter/source/hwpreader.cxx
+++ b/hwpfilter/source/hwpreader.cxx
@@ -42,23 +42,6 @@
 // xmloff/xmlkyd.hxx
 constexpr OUStringLiteral sXML_CDATA = u"CDATA";
 
-#define STARTP  mxList->addAttribute( "text:style-name", "CDATA", 
getPStyleName((para->GetParaShape()).index)); \
-    startEl("text:p"); \
-    mxList->clear(); \
-    pstart = true
-#define STARTT \
-    curr = para->GetCharShape(n > 0 ? n-1 : 0)->index; \
-    mxList->addAttribute( "text:style-name", "CDATA" , getTStyleName(curr) ); \
-    startEl("text:span"); \
-    mxList->clear(); \
-    tstart = true
-#define ENDP \
-    endEl("text:p"); \
-    pstart = false
-#define ENDT \
-    endEl("text:span"); \
-    tstart = false
-
 static hchar *field = nullptr;
 static char buf[1024];
 
@@ -2772,11 +2755,38 @@ void HwpReader::make_text_p3(HWPPara * para,bool 
bParaStart)
     bool pstart = bParaStart;
     bool tstart = false;
     bool infield = false;
-    int curr;
+
+    const auto STARTP = [this, para, &pstart]()
+    {
+        mxList->addAttribute("text:style-name", "CDATA",
+                             getPStyleName(para->GetParaShape().index));
+        startEl("text:p");
+        mxList->clear();
+        pstart = true;
+    };
+    const auto STARTT = [this, para, &tstart](int pos)
+    {
+        auto curr = para->GetCharShape(pos > 0 ? pos - 1 : 0)->index;
+        mxList->addAttribute("text:style-name", "CDATA", getTStyleName(curr));
+        startEl("text:span");
+        mxList->clear();
+        tstart = true;
+    };
+    const auto ENDP = [this, &pstart]()
+    {
+        endEl("text:p");
+        pstart = false;
+    };
+    const auto ENDT = [this, &tstart]()
+    {
+        endEl("text:span");
+        tstart = false;
+    };
+
     if( d->bFirstPara && d->bInBody )
     {
         if ( !pstart ) {
-            STARTP;
+            STARTP();
         }
         mxList->addAttribute("text:name", sXML_CDATA, sBeginOfDoc);
         startEl("text:bookmark");
@@ -2787,7 +2797,7 @@ void HwpReader::make_text_p3(HWPPara * para,bool 
bParaStart)
     if( d->bInHeader )
     {
         if ( !pstart ) {
-            STARTP;
+            STARTP();
         }
         makeShowPageNum();
         d->bInHeader = false;
@@ -2800,19 +2810,19 @@ void HwpReader::make_text_p3(HWPPara * para,bool 
bParaStart)
         {
             if (!str.empty())
             {
-                if( !pstart ){ STARTP;}
-                if( !tstart ){ STARTT;}
+                if( !pstart ){ STARTP(); }
+                if( !tstart ){ STARTT(n);}
                 makeChars(str);
             }
-            if( tstart ){ ENDT;}
-            if( !pstart ){ STARTP;}
-            if( pstart ){ ENDP;}
+            if( tstart ){ ENDT();}
+            if( !pstart ){ STARTP(); }
+            if( pstart ){ ENDP(); }
             break;
         }
         else if( para->hhstr[n]->hh == CH_SPACE  && !firstspace)
         {
-            if( !pstart ) {STARTP;}
-            if( !tstart ) {STARTT;}
+            if( !pstart ) {STARTP(); }
+            if( !tstart ) {STARTT(n);}
             makeChars(str);
             startEl("text:s");
             mxList->clear();
@@ -2823,10 +2833,10 @@ void HwpReader::make_text_p3(HWPPara * para,bool 
bParaStart)
             if( n > 0 )
                 if( para->GetCharShape(n)->index != 
para->GetCharShape(n-1)->index && !infield )
                 {
-                         if( !pstart ) {STARTP;}
-                         if( !tstart ) {STARTT;}
+                         if( !pstart ) {STARTP(); }
+                         if( !tstart ) {STARTT(n);}
                          makeChars(str);
-                         ENDT;
+                         ENDT();
                 }
             if( para->hhstr[n]->hh == CH_SPACE )
                 firstspace = 0;
@@ -2843,8 +2853,8 @@ void HwpReader::make_text_p3(HWPPara * para,bool 
bParaStart)
             FieldCode *hbox = static_cast<FieldCode*>(para->hhstr[n].get());
             if( hbox->location_info == 1)
             {
-                if( !pstart ) {STARTP;}
-                if( !tstart ) {STARTT;}
+                if( !pstart ) {STARTP(); }
+                if( !tstart ) {STARTT(n);}
                 makeChars(str);
                 firstspace = 1;
                 if( hbox->type[0] == 4 && hbox->type[1] == 0 )
@@ -2873,24 +2883,24 @@ void HwpReader::make_text_p3(HWPPara * para,bool 
bParaStart)
             switch (para->hhstr[n]->hh)
             {
                 case CH_BOOKMARK:
-                    if( !pstart ) {STARTP;}
-                    if( !tstart ) {STARTT;}
+                    if( !pstart ) {STARTP(); }
+                    if( !tstart ) {STARTT(n);}
                     makeChars(str);
                     makeBookmark(static_cast<Bookmark*>(para->hhstr[n].get()));
                     break;
                 case CH_DATE_FORM:                // 7
                     break;
                 case CH_DATE_CODE:                // 8
-                    if( !pstart ) {STARTP;}
-                    if( !tstart ) {STARTT;}
+                    if( !pstart ) {STARTP(); }
+                    if( !tstart ) {STARTT(n);}
                     makeChars(str);
                     makeDateCode(static_cast<DateCode*>(para->hhstr[n].get()));
                     break;
                 case CH_TAB:                      // 9
-                    if( !pstart ) {STARTP;}
+                    if( !pstart ) {STARTP(); }
                     if (!str.empty())
                     {
-                        if( !tstart ) {STARTT;}
+                        if( !tstart ) {STARTT(n);}
                         makeChars(str);
                     }
                     makeTab();
@@ -2902,19 +2912,19 @@ void HwpReader::make_text_p3(HWPPara * para,bool 
bParaStart)
 
                     if( hbox->style.anchor_type == 0 )
                     {
-                        if( !pstart ) {STARTP;}
-                        if( !tstart ) {STARTT;}
+                        if( !pstart ) {STARTP(); }
+                        if( !tstart ) {STARTT(n);}
                         makeChars(str);
                     }
                     else
                     {
-                        if( !pstart ) {STARTP;}
+                        if( !pstart ) {STARTP(); }
                         if (!str.empty())
                         {
-                            if( !tstart ) {STARTT;}
+                            if( !tstart ) {STARTT(n);}
                             makeChars(str);
                         }
-                        if( tstart ) {ENDT;}
+                        if( tstart ) {ENDT();}
                     }
                     switch (hbox->type)
                     {
@@ -2935,19 +2945,19 @@ void HwpReader::make_text_p3(HWPPara * para,bool 
bParaStart)
                     Picture *hbox = 
static_cast<Picture*>(para->hhstr[n].get());
                     if( hbox->style.anchor_type == 0 )
                     {
-                        if( !pstart ) {STARTP;}
-                        if( !tstart ) {STARTT;}
+                        if( !pstart ) {STARTP(); }
+                        if( !tstart ) {STARTT(n);}
                         makeChars(str);
                     }
                     else
                     {
-                        if( !pstart ) {STARTP;}
+                        if( !pstart ) {STARTP(); }
                         if (!str.empty())
                         {
-                            if( !tstart ) {STARTT;}
+                            if( !tstart ) {STARTT(n);}
                             makeChars(str);
                         }
-                        if( tstart ) {ENDT;}
+                        if( tstart ) {ENDT();}
                     }
                     makePicture(hbox);
                     break;
@@ -2956,31 +2966,31 @@ void HwpReader::make_text_p3(HWPPara * para,bool 
bParaStart)
                 {
                     if (!str.empty())
                     {
-                        if( !pstart ) {STARTP;}
-                        if( !tstart ) {STARTT;}
+                        if( !pstart ) {STARTP();}
+                        if( !tstart ) {STARTT(n);}
                         makeChars(str);
                     }
-                    if( tstart ) {ENDT;}
-                    if( pstart ) {ENDP;}
+                    if( tstart ) {ENDT();}
+                    if( pstart ) {ENDP();}
                     makeLine();
                     pstart = true;
                     break;
                 }
                 case CH_HIDDEN:                   // 15
-                    if( !pstart ) {STARTP;}
-                    if( !tstart ) {STARTT;}
+                    if( !pstart ) {STARTP();}
+                    if( !tstart ) {STARTT(n);}
                     makeChars(str);
                     makeHidden(static_cast<Hidden*>(para->hhstr[n].get()));
                     break;
                 case CH_FOOTNOTE:                 // 17
-                    if( !pstart ) {STARTP;}
-                    if( !tstart ) {STARTT;}
+                    if( !pstart ) {STARTP();}
+                    if( !tstart ) {STARTT(n);}
                     makeChars(str);
                     makeFootnote(static_cast<Footnote*>(para->hhstr[n].get()));
                     break;
                 case CH_AUTO_NUM:                 // 18
-                    if( !pstart ) {STARTP;}
-                    if( !tstart ) {STARTT;}
+                    if( !pstart ) {STARTP();}
+                    if( !tstart ) {STARTT(n);}
                     makeChars(str);
                     makeAutoNum(static_cast<AutoNum*>(para->hhstr[n].get()));
                     break;
@@ -2989,8 +2999,8 @@ void HwpReader::make_text_p3(HWPPara * para,bool 
bParaStart)
                 case CH_PAGE_NUM_CTRL:            // 21
                     break;
                 case CH_MAIL_MERGE:               // 22
-                    if( !pstart ) {STARTP;}
-                    if( !tstart ) {STARTT;}
+                    if( !pstart ) {STARTP();}
+                    if( !tstart ) {STARTT(n);}
                     makeChars(str);
                     
makeMailMerge(static_cast<MailMerge*>(para->hhstr[n].get()));
                     break;
@@ -2999,18 +3009,18 @@ void HwpReader::make_text_p3(HWPPara * para,bool 
bParaStart)
                 case CH_HYPHEN:                   // 24
                     break;
                 case CH_TOC_MARK:                 /* 25 Need to fix below 3 */
-                    if( !pstart ) {STARTP;}
-                    if( !tstart ) {STARTT;}
+                    if( !pstart ) {STARTP();}
+                    if( !tstart ) {STARTT(n);}
                     makeChars(str);
                     break;
                 case CH_INDEX_MARK:               // 26
-                    if( !pstart ) {STARTP;}
-                    if( !tstart ) {STARTT;}
+                    if( !pstart ) {STARTP();}
+                    if( !tstart ) {STARTT(n);}
                     makeChars(str);
                     break;
                 case CH_OUTLINE:                  // 28
-                    if( !pstart ) {STARTP;}
-                    if( !tstart ) {STARTT;}
+                    if( !pstart ) {STARTP();}
+                    if( !tstart ) {STARTT(n);}
                     makeChars(str);
                     makeOutline(static_cast<Outline *>(para->hhstr[n].get()));
                     break;

Reply via email to