[Libreoffice-commits] .: lotuswordpro/source

Caolán McNamara caolan at kemper.freedesktop.org
Mon May 23 09:02:01 PDT 2011


 lotuswordpro/source/filter/lwpfilehdr.cxx  |   22 +++++++++++------
 lotuswordpro/source/filter/lwpobjhdr.cxx   |   36 ++++++++++++++--------------
 lotuswordpro/source/filter/lwpobjid.cxx    |   10 +++----
 lotuswordpro/source/filter/lwpsvstream.cxx |   37 +++++++++++++++++++++++++++++
 lotuswordpro/source/filter/lwpsvstream.hxx |    8 ++++++
 5 files changed, 83 insertions(+), 30 deletions(-)

New commits:
commit d2d860afa18bd216286a14074a80b32730a1c9d5
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Mon May 23 17:00:28 2011 +0100

    fix endianness sufficiently to pass unit tests

diff --git a/lotuswordpro/source/filter/lwpfilehdr.cxx b/lotuswordpro/source/filter/lwpfilehdr.cxx
index 532aa53..d2d87ac 100644
--- a/lotuswordpro/source/filter/lwpfilehdr.cxx
+++ b/lotuswordpro/source/filter/lwpfilehdr.cxx
@@ -70,17 +70,25 @@ LwpFileHeader::LwpFileHeader()
 sal_uInt32 LwpFileHeader::Read(LwpSvStream *pStrm)
 {
     sal_uInt32 len = 0;
-    len += pStrm->Read(&m_nAppRevision, sizeof(m_nAppRevision));
-    len += pStrm->Read(&m_nFileRevision, sizeof(m_nFileRevision));
-    len += pStrm->Read(&m_nAppReleaseNo, sizeof(m_nAppReleaseNo));
-    len += pStrm->Read(&m_nRequiredAppRevision, sizeof(m_nRequiredAppRevision));
-    len += pStrm->Read(&m_nRequiredFileRevision, sizeof(m_nRequiredFileRevision));
+    *pStrm >> m_nAppRevision;
+    len += sizeof(m_nAppRevision);
+    *pStrm >> m_nFileRevision;
+    len += sizeof(m_nFileRevision);
+    *pStrm >> m_nAppReleaseNo;
+    len += sizeof(m_nAppReleaseNo);
+    *pStrm >> m_nRequiredAppRevision;
+    len += sizeof(m_nRequiredAppRevision);
+    *pStrm >> m_nRequiredFileRevision;
+    len += sizeof(m_nRequiredFileRevision);
     len += m_cDocumentID.Read(pStrm);
     if (m_nFileRevision < 0x000B)
         m_nRootIndexOffset = BAD_OFFSET;
     else
-        len += pStrm->Read(&m_nRootIndexOffset, sizeof(m_nRootIndexOffset));
-    return(len);
+    {
+        *pStrm >> m_nRootIndexOffset;
+        len += sizeof(m_nRootIndexOffset);
+    }
+    return len;
 }
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/lotuswordpro/source/filter/lwpobjhdr.cxx b/lotuswordpro/source/filter/lwpobjhdr.cxx
index 7103b57..a78c3b9 100644
--- a/lotuswordpro/source/filter/lwpobjhdr.cxx
+++ b/lotuswordpro/source/filter/lwpobjhdr.cxx
@@ -87,11 +87,11 @@ bool LwpObjectHeader::Read(LwpSvStream &rStrm)
 
     if ( LwpFileHeader::m_nFileRevision < 0x000B)
     {
-        rStrm.Read(&m_nTag, sizeof(m_nTag));
+        rStrm >> m_nTag;
         m_ID.Read(&rStrm);
-        rStrm.Read(&nVersionID, sizeof(nVersionID));
-        rStrm.Read(&nRefCount, sizeof(nRefCount));
-        rStrm.Read(&nNextVersionOffset, sizeof(nNextVersionOffset));
+        rStrm >> nVersionID;
+        rStrm >> nRefCount;
+        rStrm >> nNextVersionOffset;
 
         nHeaderSize = sizeof(m_nTag) + m_ID.DiskSize()
             + sizeof(nVersionID)
@@ -101,16 +101,16 @@ bool LwpObjectHeader::Read(LwpSvStream &rStrm)
 
         if ((m_nTag == TAG_AMI) || ( LwpFileHeader::m_nFileRevision < 0x0006))
         {
-            rStrm.Read(&nNextVersionID, sizeof(nNextVersionID));
+            rStrm >> nNextVersionID;
             nHeaderSize += sizeof(nNextVersionID);
         }
-        rStrm.Read(&m_nSize, sizeof(m_nSize));
+        rStrm >> m_nSize;
     }
     else
     {
         sal_uInt16 VOType = 0;
-        rStrm.Read(&VOType, sizeof(VOType));
-        rStrm.Read(&nFlagBits, sizeof(nFlagBits));
+        rStrm >> VOType;
+        rStrm >> nFlagBits;
 
         m_nTag = static_cast<sal_uInt32>(VOType);
         m_ID.ReadIndexed(&rStrm);
@@ -121,19 +121,19 @@ bool LwpObjectHeader::Read(LwpSvStream &rStrm)
         switch (nFlagBits & VERSION_BITS)
         {
             case ONE_BYTE_VERSION:
-                rStrm.Read(&tmpByte, sizeof(tmpByte));
+                rStrm >> tmpByte;
                 nVersionID = static_cast<sal_uInt32>( tmpByte );
                 nHeaderSize++;
                 break;
 
             case TWO_BYTE_VERSION:
-                rStrm.Read(&tmpShort, sizeof(tmpShort));
+                rStrm >> tmpShort;
                 nVersionID = static_cast<sal_uInt32>( tmpShort );
                 nHeaderSize += 2;
                 break;
 
             case FOUR_BYTE_VERSION:
-                rStrm.Read(&nVersionID, sizeof(nVersionID));
+                rStrm >> nVersionID;
                 nHeaderSize += 4;
                 break;
             case DEFAULT_VERSION:	//fall through
@@ -145,27 +145,27 @@ bool LwpObjectHeader::Read(LwpSvStream &rStrm)
         switch (nFlagBits & REFCOUNT_BITS)
         {
             case ONE_BYTE_REFCOUNT:
-                rStrm.Read(&tmpByte, sizeof(tmpByte));
+                rStrm >> tmpByte;
                 nRefCount = static_cast<sal_uInt32>( tmpByte );
                 nHeaderSize++;
                 break;
 
             case TWO_BYTE_REFCOUNT:
-                rStrm.Read(&tmpShort, sizeof(tmpShort));
+                rStrm >> tmpShort;
                 nRefCount = static_cast<sal_uInt32>( tmpShort );
                 nHeaderSize += 2;
                 break;
 
             case FOUR_BYTE_REFCOUNT:	//through
             default:
-                rStrm.Read(&nRefCount, sizeof(nRefCount));
+                rStrm >> nRefCount;
                 nHeaderSize += 4;
                 break;
         }
 
         if (nFlagBits & HAS_PREVOFFSET)
         {
-            rStrm.Read(&nNextVersionOffset, sizeof(nNextVersionOffset));
+            rStrm >> nNextVersionOffset;
             nHeaderSize += 4;
         }
         else
@@ -174,20 +174,20 @@ bool LwpObjectHeader::Read(LwpSvStream &rStrm)
         switch (nFlagBits & SIZE_BITS)
         {
             case ONE_BYTE_SIZE:
-                rStrm.Read(&tmpByte, sizeof(tmpByte));
+                rStrm >> tmpByte;
                 m_nSize = static_cast<sal_uInt32>( tmpByte );
                 nHeaderSize++;
                 break;
 
             case TWO_BYTE_SIZE:
-                rStrm.Read(&tmpShort, sizeof(tmpShort));
+                rStrm >> tmpShort;
                 m_nSize = static_cast<sal_uInt32>(tmpShort);
                 nHeaderSize += 2;
                 break;
 
             case FOUR_BYTE_SIZE:	//go through
             default:
-                rStrm.Read(&m_nSize, sizeof(m_nSize));
+                rStrm >> m_nSize;
                 nHeaderSize += 4;
                 break;
         }
diff --git a/lotuswordpro/source/filter/lwpobjid.cxx b/lotuswordpro/source/filter/lwpobjid.cxx
index 0f378c9..93d1ea6 100644
--- a/lotuswordpro/source/filter/lwpobjid.cxx
+++ b/lotuswordpro/source/filter/lwpobjid.cxx
@@ -81,8 +81,8 @@ LwpObjectID::LwpObjectID(sal_uInt32 low, sal_uInt16 high)
 */
 sal_uInt32 LwpObjectID::Read(LwpSvStream *pStrm)
 {
-    pStrm->Read(&m_nLow, sizeof(m_nLow));
-    pStrm->Read(&m_nHigh, sizeof(m_nHigh));
+    *pStrm >> m_nLow;
+    *pStrm >> m_nHigh;
     return DiskSize();
 }
 /**
@@ -108,7 +108,7 @@ sal_uInt32 LwpObjectID::ReadIndexed(LwpSvStream *pStrm)
         return Read(pStrm);
     }
 
-    pStrm->Read(&m_nIndex, sizeof(m_nIndex));
+    *pStrm >> m_nIndex;
 
     if (m_nIndex)
     {
@@ -121,9 +121,9 @@ sal_uInt32 LwpObjectID::ReadIndexed(LwpSvStream *pStrm)
     }
     else
     {
-        pStrm->Read(&m_nLow, sizeof(m_nLow));
+        *pStrm >> m_nLow;
     }
-    pStrm->Read(&m_nHigh, sizeof(m_nHigh));
+    *pStrm >> m_nHigh;
     return DiskSizeIndexed();
 }
 
diff --git a/lotuswordpro/source/filter/lwpsvstream.cxx b/lotuswordpro/source/filter/lwpsvstream.cxx
index 8898518..087a0db 100644
--- a/lotuswordpro/source/filter/lwpsvstream.cxx
+++ b/lotuswordpro/source/filter/lwpsvstream.cxx
@@ -70,6 +70,43 @@ sal_Int32 LwpSvStream::Read(void* buf, sal_Int32 nBytesToRead)
 {
     return m_pStream->Read(buf,nBytesToRead);
 }
+
+LwpSvStream& LwpSvStream::operator>>( sal_uInt8& rUInt8 )
+{
+    *m_pStream >> rUInt8;
+    return *this;
+}
+
+LwpSvStream& LwpSvStream::operator>>( sal_uInt16& rUInt16 )
+{
+    *m_pStream >> rUInt16;
+    return *this;
+}
+
+LwpSvStream& LwpSvStream::operator>>( sal_uInt32& rUInt32 )
+{
+    *m_pStream >> rUInt32;
+    return *this;
+}
+
+LwpSvStream& LwpSvStream::operator>>( sal_Int8& rInt8 )
+{
+    *m_pStream >> rInt8;
+    return *this;
+}
+
+LwpSvStream& LwpSvStream::operator>>( sal_Int16& rInt16 )
+{
+    *m_pStream >> rInt16;
+    return *this;
+}
+
+LwpSvStream& LwpSvStream::operator>>( sal_Int32& rInt32 )
+{
+    *m_pStream >> rInt32;
+    return *this;
+}
+
 /**
  * @descr		SeekRel in stream
 */
diff --git a/lotuswordpro/source/filter/lwpsvstream.hxx b/lotuswordpro/source/filter/lwpsvstream.hxx
index eb9c468..269fa0d 100644
--- a/lotuswordpro/source/filter/lwpsvstream.hxx
+++ b/lotuswordpro/source/filter/lwpsvstream.hxx
@@ -72,6 +72,14 @@ public:
     sal_Int64 Tell();
     sal_Int64 Seek( sal_Int64 pos );
 
+    LwpSvStream& operator>>( sal_uInt8& rUInt8 );
+    LwpSvStream& operator>>( sal_uInt16& rUInt16 );
+    LwpSvStream& operator>>( sal_uInt32& rUInt32 );
+
+    LwpSvStream& operator>>( sal_Int8& rInt8 );
+    LwpSvStream& operator>>( sal_Int16& rInt16 );
+    LwpSvStream& operator>>( sal_Int32& rInt32 );
+
     static const sal_uInt32 LWP_STREAM_BASE;
 
     LwpSvStream * GetCompressedStream()


More information about the Libreoffice-commits mailing list