[Libreoffice-commits] core.git: sw/source

Miklos Vajna vmiklos at collabora.co.uk
Thu Oct 12 21:47:40 UTC 2017


 sw/source/core/layout/dbg_lay.cxx |   11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

New commits:
commit 3672cdd35985201ea87463cf032fedd02c052f4d
Author: Miklos Vajna <vmiklos at collabora.co.uk>
Date:   Thu Oct 12 21:00:43 2017 +0200

    sw: resurrect dbg_lay functionality
    
    Example instdir/program/dbg_lay.ini:
    
            # 0x0007ffff
            [record] 524287
    
    This logs all functions and all frames. To have it:
    
    1) Don't mention hex values in the example, support for this was removed
    in ef513fd4b049b214a03fbe6e62a5ea43680a7a9b (remove unnecessary use of
    OString::getStr, 2017-05-26).
    
    2) "all frame IDs" is represented with a nullptr, so don't clear it
    unconditionally.
    
    3) Fix two other regressions from bytestring conversion in commit
    778ef20d74ce499e4e0c4b0e3e4506b44938b975 (sw now ByteString free except
    for windows related ones, 2011-11-04).
    
    (Additionally you need a dbgutil build, dbg_lay.go has to exists in the
    same dir, and output goes to dbg_lay.out in the same dir.)
    
    Change-Id: Ida0f3032f11225f1d079cdcbb05ec64c42a71e5d
    Reviewed-on: https://gerrit.libreoffice.org/43347
    Reviewed-by: Miklos Vajna <vmiklos at collabora.co.uk>
    Tested-by: Jenkins <ci at libreoffice.org>

diff --git a/sw/source/core/layout/dbg_lay.cxx b/sw/source/core/layout/dbg_lay.cxx
index 23c3d879306a..2baa1a7bd469 100644
--- a/sw/source/core/layout/dbg_lay.cxx
+++ b/sw/source/core/layout/dbg_lay.cxx
@@ -82,8 +82,8 @@
  *      listed; default is 0 which means that none are logged. It's also
  *      possible to remove functions using '!'.
  *      An example INI file:
- *           #Functions: all, except PRTARE
- *           [record] 0xFFFFFFFE !0x200
+ *           #Functions: all(0x0007ffff), except PrintArea (0x200)
+ *           [record] 524287 !512
  *           [frmid]
  *           #the following FrameIds:
  *           1 2 12 13 14 15
@@ -282,7 +282,8 @@ SwImplProtocol::~SwImplProtocol()
         pStream->Close();
         delete pStream;
     }
-    pFrameIds->clear();
+    if (pFrameIds)
+        pFrameIds->clear();
     delete pFrameIds;
     aVars.clear();
 }
@@ -339,7 +340,7 @@ void SwImplProtocol::CheckLine( OString& rLine )
     {
         OString aTok = rLine.getToken( 0, ' ', nIndex );
         bool bNo = false;
-        if( '!' == aTok[0] )
+        if( !aTok.isEmpty() && '!' == aTok[0] )
         {
             bNo = true;                 // remove this function/type
             aTok = aTok.copy(1);
@@ -407,7 +408,7 @@ void SwImplProtocol::FileInit()
                 aLine.clear();
             }
             else
-                aLine = OString(c);
+                aLine += OString(c);
         }
         if( !aLine.isEmpty() )
             CheckLine( aLine );     // evaluate last line


More information about the Libreoffice-commits mailing list