diff --git a/gzip.cpp b/gzip.cpp index 4b4869b4..27972a1d 100644 --- a/gzip.cpp +++ b/gzip.cpp @@ -26,7 +26,7 @@ void Gzip::WritePrestreamHeader() AttachedTransformation()->Put(MAGIC2); AttachedTransformation()->Put(DEFLATED); AttachedTransformation()->Put((byte)flags); // general flag - AttachedTransformation()->PutWord32(m_filetime, LITTLE_ENDIAN_ORDER); // time stamp + AttachedTransformation()->PutWord32(m_filetime, BIG_ENDIAN_ORDER); // time stamp byte extra = (GetDeflateLevel() == 1) ? FAST : ((GetDeflateLevel() == 9) ? SLOW : 0); AttachedTransformation()->Put(extra); AttachedTransformation()->Put(GZIP_OS_CODE); @@ -51,7 +51,7 @@ void Gzip::WritePoststreamTail() SecByteBlock crc(4); m_crc.Final(crc); AttachedTransformation()->Put(crc, 4); - AttachedTransformation()->PutWord32(m_totalLen, LITTLE_ENDIAN_ORDER); + AttachedTransformation()->PutWord32(m_totalLen, BIG_ENDIAN_ORDER); m_filetime = 0; m_filename.clear(); diff --git a/gzip.h b/gzip.h index 3f7b7cdc..271ff500 100644 --- a/gzip.h +++ b/gzip.h @@ -37,14 +37,14 @@ public: //! \param filetime the filetime to set in the header. The application is responsible for setting it. void SetFiletime(word32 filetime) { m_filetime = filetime; } - + //! \param filename the original filename to set in the header. The application is responsible for setting it. //! RFC 1952 requires a ISO/IEC 8859-1 encoding. //! \param throwOnEncodingError if throwOnEncodingError is true, then the filename is checked to ensure it is //! ISO/IEC 8859-1 encoded. If the filename does not adhere to ISO/IEC 8859-1, then a InvalidDataFormat //! is thrown. If throwOnEncodingError is false then the filename is not checked. void SetFilename(const std::string& filename, bool throwOnEncodingError = false); - + //! \param comment the comment to set in the header. The application is responsible for setting it. //! RFC 1952 requires a ISO/IEC 8859-1 encoding. //! \param throwOnEncodingError if throwOnEncodingError is true, then the comment is checked to ensure it is @@ -55,7 +55,7 @@ public: protected: enum {MAGIC1=0x1f, MAGIC2=0x8b, // flags for the header DEFLATED=8, FAST=4, SLOW=2}; - + enum FLAG_MASKS { FILENAME=8, COMMENTS=16}; @@ -65,7 +65,7 @@ protected: word32 m_totalLen; CRC32 m_crc; - + word32 m_filetime; std::string m_filename; std::string m_comment; @@ -99,13 +99,13 @@ public: //! \return the filetime of the stream as set in the header. The application is responsible for setting it on the decompressed file. word32 GetFiletime() const { return m_filetime; } - + //! \return the filename of the stream as set in the header. The application is responsible for setting it on the decompressed file. //! \param throwOnEncodingError if throwOnEncodingError is true, then the filename is checked to ensure it is //! ISO/IEC 8859-1 encoded. If the filename does not adhere to ISO/IEC 8859-1, then a InvalidDataFormat is thrown. //! If throwOnEncodingError is false then the filename is not checked. const std::string& GetFilename(bool throwOnEncodingError = false) const; - + //! \return the comment of the stream as set in the header. //! \param throwOnEncodingError if throwOnEncodingError is true, then the comment is checked to ensure it is //! ISO/IEC 8859-1 encoded. If the comment does not adhere to ISO/IEC 8859-1, then a InvalidDataFormat is thrown.