sw/source/filter/ww8/ww8scan.cxx |   16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

New commits:
commit 399cb9a456bc7d0da10b3b61d17ebf4460f7fc3c
Author: Don Lewis <truck...@apache.org>
Date:   Tue Jan 30 20:10:07 2018 +0000

    Be slightly less tricky and change
    
    do {
    } while (!this);
    to
    do {
    } while (0);
    
    Computing !this must be done at runtime, whereas the intent is for
    the loop to exit after the first iteration, which can be handled at
    compile time when using a constant zero.  Also, "this" should always
    be non-NULL in valid c++ code, but if ever happened to be NULL, then
    this code could loop forever.
    
    While here, translate nearby comments.

diff --git a/sw/source/filter/ww8/ww8scan.cxx b/sw/source/filter/ww8/ww8scan.cxx
index f2f1391592b3..679b735ebc9e 100644
--- a/sw/source/filter/ww8/ww8scan.cxx
+++ b/sw/source/filter/ww8/ww8scan.cxx
@@ -6197,12 +6197,12 @@ WW8Style::WW8Style(SvStream& rStream, WW8Fib& rFibPara)
         if ( 20 > nRead ) break;
         rSt >> ftcBi;
 
-        // ggfs. den Rest ueberlesen
+        // ggfs. Check the rest
         if( 20 < nRead )
             rSt.SeekRel( nRead-20 );
     }
-    while( !this ); // Trick: obiger Block wird genau einmal durchlaufen
-                    //   und kann vorzeitig per "break" verlassen werden.
+    while( 0 ); // Trick: The above block is run through exactly once
+                // and can be prematurely left by "break".
 
     if( 0 != rSt.GetError() )
     {
@@ -6255,19 +6255,19 @@ WW8_STD* WW8Style::Read1STDFixed( short& rSkip, short* 
pcbStd )
             if( 8 > nRead ) break;
             rSt >> pStd->bchUpe;
 
-            // ab Ver8 sollten diese beiden Felder dazukommen:
+            // from Ver8 these two fields should be added
             if(10 > nRead ) break;
             rSt >> a16Bit;
             pStd->fAutoRedef =   a16Bit & 0x0001       ;
             pStd->fHidden    = ( a16Bit & 0x0002 ) >> 1;
 
-            // man kann nie wissen: vorsichtshalber ueberlesen
-            // wir eventuelle Fuellsel, die noch zum BASE-Part gehoeren...
+            // you never know: as a precaution, we read over any
+            // filler that still belongs to the BASE part...
             if( 10 < nRead )
                 rSt.SeekRel( nRead-10 );
         }
-        while( !this ); // Trick: obiger Block wird genau einmal durchlaufen
-                        //   und kann vorzeitig per "break" verlassen werden.
+        while( 0 ); // Trick: above block is run through exactly once and
+                    // can be prematurely left by "break".
 
         if( (0 != rSt.GetError()) || !nRead )
             DELETEZ( pStd );        // per NULL den Error melden
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to