Author: orw
Date: Tue Aug 14 13:40:36 2012
New Revision: 1372879

URL: http://svn.apache.org/viewvc?rev=1372879&view=rev
Log:
some refactoring on <StgHeader>

Modified:
    incubator/ooo/trunk/main/sot/source/sdstor/stgelem.cxx
    incubator/ooo/trunk/main/sot/source/sdstor/stgelem.hxx

Modified: incubator/ooo/trunk/main/sot/source/sdstor/stgelem.cxx
URL: 
http://svn.apache.org/viewvc/incubator/ooo/trunk/main/sot/source/sdstor/stgelem.cxx?rev=1372879&r1=1372878&r2=1372879&view=diff
==============================================================================
--- incubator/ooo/trunk/main/sot/source/sdstor/stgelem.cxx (original)
+++ incubator/ooo/trunk/main/sot/source/sdstor/stgelem.cxx Tue Aug 14 13:40:36 
2012
@@ -114,7 +114,7 @@ void StgHeader::Init()
 
     SetTOCStart( STG_EOF );
     SetDataFATStart( STG_EOF );
-    for( short i = 0; i < 109; i++ )
+    for( short i = 0; i < cFATPagesInHeader; i++ )
         SetFATPage( i, STG_FREE );
 }
 
@@ -149,7 +149,7 @@ sal_Bool StgHeader::Load( SvStream& r )
          >> nDataFATSize                               // 40 # of data FATpages
          >> nMasterChain                               // 44 chain to the next 
master block
          >> nMaster;                                   // 48 # of additional 
master blocks
-       for( short i = 0; i < 109; i++ )
+       for( short i = 0; i < cFATPagesInHeader; i++ )
                r >> nMasterFAT[ i ];
 
     return ( r.GetErrorCode() == ERRCODE_NONE && Check() );
@@ -175,7 +175,7 @@ sal_Bool StgHeader::Store( StgIo& rIo )
          << nDataFATSize                               // 40 # of data FAT 
pages
          << nMasterChain                               // 44 chain to the next 
master block
          << nMaster;                                   // 48 # of additional 
master blocks
-       for( short i = 0; i < 109; i++ )
+       for( short i = 0; i < cFATPagesInHeader; i++ )
                r << nMasterFAT[ i ];
        bDirty = !rIo.Good();
        return sal_Bool( !bDirty );
@@ -197,14 +197,14 @@ sal_Bool StgHeader::Check()
             && nFATSize > 0
             && nTOCstrm >= 0
             && nThreshold > 0
-            && ( nDataFAT == -2 || ( nDataFAT >= 0 && nDataFATSize > 0 ) )
-            && ( nMasterChain == -2 || ( nMasterChain >=0 && nMaster > 109 ) )
+            && ( nDataFAT == STG_EOF || ( nDataFAT >= 0 && nDataFATSize > 0 ) )
+            && ( nMasterChain == STG_EOF || ( nMasterChain >=0 && nMaster > 0 
) )
             && nMaster >= 0;
 }
 
 sal_Int32 StgHeader::GetFATPage( short n ) const
 {
-    if( n >= 0 && n < 109 )
+    if( n >= 0 && n < cFATPagesInHeader )
         return nMasterFAT[ n ];
     else
         return STG_EOF;
@@ -212,7 +212,7 @@ sal_Int32 StgHeader::GetFATPage( short n
 
 void StgHeader::SetFATPage( short n, sal_Int32 nb )
 {
-    if( n >= 0 && n < 109 )
+    if( n >= 0 && n < cFATPagesInHeader )
        {
                if( nMasterFAT[ n ] != nb )
                bDirty = sal_True, nMasterFAT[ n ] = nb;
@@ -436,7 +436,9 @@ sal_Bool StgEntry::Load( const void* pFr
     sal_uInt16 n = nNameLen;
     if( n )
                n = ( n >> 1 ) - 1;
-       if( n > 31 || (nSize < 0 && cType != STG_STORAGE) || ( nPage1 < 0 && 
nPage1 != -2 ) )
+       if ( n > 31 || 
+         (nSize < 0 && cType != STG_STORAGE) || 
+         ( nPage1 < 0 && nPage1 != STG_EOF ) )
     {
         // the size makes no sence for the substorage
         // TODO/LATER: actually the size should be an unsigned value, but in 
this case it would mean a stream of more than 2Gb

Modified: incubator/ooo/trunk/main/sot/source/sdstor/stgelem.hxx
URL: 
http://svn.apache.org/viewvc/incubator/ooo/trunk/main/sot/source/sdstor/stgelem.hxx?rev=1372879&r1=1372878&r2=1372879&view=diff
==============================================================================
--- incubator/ooo/trunk/main/sot/source/sdstor/stgelem.hxx (original)
+++ incubator/ooo/trunk/main/sot/source/sdstor/stgelem.hxx Tue Aug 14 13:40:36 
2012
@@ -42,23 +42,25 @@ SvStream& operator<<( SvStream&, const C
 
 class StgHeader
 {
-       sal_uInt8       cSignature[ 8 ];                        // 00 signature 
(see below)
-       ClsId   aClsId;                                         // 08 Class ID
-       sal_Int32       nVersion;                                       // 18 
version number
-       sal_uInt16      nByteOrder;                                     // 1C 
Unicode byte order indicator
-       sal_Int16       nPageSize;                                      // 1E 1 
<< nPageSize = block size
-       sal_Int16       nDataPageSize;                          // 20 1 << this 
size == data block size
-       sal_uInt8       bDirty;                                         // 22 
internal dirty flag
-       sal_uInt8       cReserved[ 9 ];                         // 23
-       sal_Int32       nFATSize;                                       // 2C 
total number of FAT pages
-       sal_Int32       nTOCstrm;                                       // 30 
starting page for the TOC stream
-       sal_Int32       nReserved;                                      // 34
-       sal_Int32       nThreshold;                                     // 38 
minimum file size for big data
-       sal_Int32       nDataFAT;                                       // 3C 
page # of 1st data FAT block
-       sal_Int32       nDataFATSize;                           // 40 # of data 
fat blocks
-       sal_Int32       nMasterChain;                           // 44 chain to 
the next master block
-       sal_Int32       nMaster;                                        // 48 # 
of additional master blocks
-       sal_Int32       nMasterFAT[ 109 ];                      // 4C first 109 
master FAT pages
+    static const sal_uInt8 cFATPagesInHeader = 109;
+
+    sal_uInt8  cSignature[ 8 ];                        // 00 signature (see 
below)
+    ClsId              aClsId;                                         // 08 
Class ID
+    sal_Int32  nVersion;                                       // 18 version 
number
+    sal_uInt16 nByteOrder;                                     // 1C Unicode 
byte order indicator
+    sal_Int16  nPageSize;                                      // 1E 1 << 
nPageSize = block size
+    sal_Int16  nDataPageSize;                          // 20 1 << this size == 
data block size
+    sal_uInt8  bDirty;                                         // 22 internal 
dirty flag
+    sal_uInt8  cReserved[ 9 ];                         // 23
+    sal_Int32  nFATSize;                                       // 2C total 
number of FAT pages
+    sal_Int32  nTOCstrm;                                       // 30 starting 
page for the TOC stream
+    sal_Int32  nReserved;                                      // 34
+    sal_Int32  nThreshold;                                     // 38 minimum 
file size for big data
+    sal_Int32  nDataFAT;                                       // 3C page # of 
1st data FAT block
+    sal_Int32  nDataFATSize;                           // 40 # of data fat 
blocks
+    sal_Int32  nMasterChain;                           // 44 chain to the next 
master block
+    sal_Int32  nMaster;                                        // 48 # of 
additional master blocks
+    sal_Int32  nMasterFAT[ cFATPagesInHeader ];                        // 4C 
first [cFATPagesInHeader] master FAT pages
 public:
        StgHeader();
 
@@ -67,23 +69,23 @@ public:
     sal_Bool  Load( SvStream& );
        sal_Bool  Store( StgIo& );
        sal_Bool  Check();                                              // 
check the signature and version
-       short GetByteOrder() const                      { return nByteOrder;    
}
-       sal_Int32 GetTOCStart() const                   { return nTOCstrm;      
        }
+       short GetByteOrder() const                      { return nByteOrder; }
+       sal_Int32 GetTOCStart() const                   { return nTOCstrm; }
        void  SetTOCStart( sal_Int32 n );
-       sal_Int32 GetDataFATStart() const               { return nDataFAT;      
        }
+       sal_Int32 GetDataFATStart() const               { return nDataFAT; }
        void  SetDataFATStart( sal_Int32 n );
-       sal_Int32 GetDataFATSize() const                { return nDataFATSize;  
}
+       sal_Int32 GetDataFATSize() const                { return nDataFATSize; }
        void  SetDataFATSize( sal_Int32 n );
-       sal_Int32 GetThreshold() const                  { return nThreshold;    
}
-       short GetPageSize() const                       { return nPageSize;     
        }
-       short GetDataPageSize() const           { return nDataPageSize; }
-       sal_Int32 GetFATSize() const                    { return nFATSize;      
        }
+       sal_Int32 GetThreshold() const                  { return nThreshold; }
+       short GetPageSize() const                       { return nPageSize; }
+       short GetDataPageSize() const           { return nDataPageSize; }
+       sal_Int32 GetFATSize() const                    { return nFATSize; }
        void  SetFATSize( sal_Int32 n );
-       sal_Int32 GetFATChain() const                   { return nMasterChain;  
}
+       sal_Int32 GetFATChain() const                   { return nMasterChain; }
        void  SetFATChain( sal_Int32 n );
-       sal_Int32 GetMasters() const                    { return nMaster;       
        }
+       sal_Int32 GetMasters() const                    { return nMaster; }
        void  SetMasters( sal_Int32 n );
-       short GetFAT1Size() const                       { return 109;           
        }
+       short GetFAT1Size() const                       { return 
cFATPagesInHeader; }
        const ClsId& GetClassId() const         { return aClsId;                
}
        void  SetClassId( const ClsId& );
        sal_Int32 GetFATPage( short ) const;


Reply via email to