?? changelog.txt
字號:
ver 2.4.4 (04-2005)
Bugs fixed:
- corrected problems with compilation under gcc 3.4.2 (thanks to all the people that reported it)
ver 2.4.3 (03-2005)
Features added:
- added CZipArchive::WideConversionUseAnsi; for languages such as Japanese or Korean it must be called with the argument set to false (apart from calling CZipArchive::EnableOemConversion).
Bugs fixed:
- crash caused by an invalid date used in CZipFileHeader::SetTime (thanks to Roman Scherzer for reporting it)
- invalid handling of strings in UNICODE (bug introduced when trying to support languages such as Japanese or Korean - thanks to Mark Gladding for reporting it).
ver 2.4.2 (02-2005)
Features added:
- allowed proper handling of UNICODE names in some languages such as Japanese or Korean: added CZipArchive::EnableOemConversion,
which needs to be called with the argument set to false for these languages (thanks to Michael Frossard for suggestions).
- an archive created in TDSpan mode can now be extracted (from non-removable device) by WinZip or WinRar (thanks to Martin Hoefler for the suggestion).
- copy constructor added to CZipMemFile (suggested by Sofia Massimo)
Changes:
- zlib library updated to version 1.2.2; See the zlib library change log.
- when creating a disk spanning archive, the whole central directory is placed on a single volume
- the number of archive parts is now limited to 99 in TDSpan mode (for the compatibility with other archivers)
Bugs fixed:
- wildcard matching was not handled properly (e.g. "*.exe" was not matched against "a.b.exe")
- corrected problems with working on 64 bit platforms (thanks to Miha for noticing it and for most of the fixes)
- corrected problems with compilation under gcc 3.3.4 (thanks to Miha for the fix)
ver 2.4.1 (06-2004)
Workarounds:
- exception thrown in CFile::GetFilePath() by MFC when working on offline files under Windows XP (thanks to Richard Stooke for spotting and solving this).
ver 2.4.0 (03-2004)
Changes:
- zlib library updated to version 1.2.1; See the zlib library change log.
- CZipArchive::CloseFileAfterTestFailed renamed to CZipArchive::CloseFileWithNoUpdate
ver 2.3.6 (11-2003)
Bugs fixed:
- not proper string comparison in CZipCentralDir::FindFile (thanks to Igor Green for reporting it)
ver 2.3.5 (09-2003)
Features added:
- method CZipArchive::ExtractFile(WORD, CZipMemFile&, bool, DWORD) has a new parameter added, bRewind, which determines whether position the memory file pointer at the beginning of the decompressed data or not (thanks to Tim Musschoot for a remark)
Changes:
- method CZipArchive::ExtractFile(WORD, CZipMemFile&, bool, DWORD) positions the memory file pointer at the beginning of the compressed data after compression
- CZipArchive::AddNewFile method now automaticaly sets the value of the file pointer (CZipAddNewFileInfo::m_pFile), if set, to the beginning of the file - performs CZipAbstractFile::SeekToBegin (thanks to Michael A. Rusakov for pointing this out)
- compatibility with STLPort (thanks to Ben Discoe for the changes)
Bugs fixed:
- compilation errors on Solaris and Linux box gcc 3.2.2 (thanks to Aditya Dwivedula for the fixes)
- when creating multi-disk volume, the 'zip' extension was not properly appended
- in methods CZipArchive::AddNewFile(LPCTSTR,int,bool,int, unsigned long), CZipArchive::AddNewFile(LPCTSTR,LPCTSTR,int,int, unsigned long) and CZipArchive::AddNewFile(CZipMemFile& mf,LPCTSTR,int,int, unsigned long)
the smartnes level was always set to CZipArchive::zipsmSafeSmart regardless of iSmartLevel parameter (thanks to Antonio Maiorano for reporting)
- rare problems under Windows with STL version (thanks to Daniel Walton for the fix)
ver 2.3.4 (06-2003)
Bugs fixed:
- problems with extracting some archives (very rare) (thanks to Ben Jos Walbeehm for the fix)
- problems with extracting some archives created under Linux (thanks to Jrgen Marquardt for reporting)
- small compilation errors under MSVC++ .NET (thanks to Darren Whobrey for the fixes)
- setting password in zippie (thanks to Amnon David for the fix)
Changes:
- CZipArchive::TestFile throws an exception now if CZipArchive::CloseFile returned -1. It makes it work as described in the documentation that an exception is thrown when the file is corrupted (thanks to Silvio Scarpati for pointing this out)
- it is now possible to add an already opened file to an archive (thanks to Kristjan Bjarnason for the change)
ver 2.3.3 (01-2003)
Features added:
- CZipArchive::m_bRemoveDriveLetter option added
Bugs fixed:
- not extracting files from the last volume when opening an existing archive created in TDSpan mode, where the last volume filename has other extension than ".zip"
- added PKZIP_BUG_WORKAROUND definition to the zlib.h file distributed with ZipArchive library as well as to ZipArchive project files (in case the zlib library is replaced with a new version).
It deals with pkzip bug existing in some archives (thanks to Ben Jos Walbeehm for reporting).
ver 2.3.2 (08-2002)
Bug fixed:
- problem with creating disk spanning archives in the STL version of the library (thanks to Luiz Rafael Culik for reporting)
ver 2.3.1 (05-2002)
Bug fixed:
- using CZipMemFile::CZipMemFile(BYTE* , UINT , long ) constructor could cause memory errors (thanks to Laurent Dor)
ver 2.3 (04-2002) (includes changes and fixes from 2.2a to 2.2c)
Features added:
- Visual Studio .NET compatibility
- methods CZipArchive::GetFromArchive added, which allow copying files from another archive without decompressing them
- many times requested replacing of files in the archive feature; it works with methods CZipArchive::GetFromArchive and a new
CZipArchive::AddNewFile(CZipAddNewFileInfo& ) which was introduced due to increasing parameters count
- added method CZipArchive::RenameFile which renames a file in the archive maintaining its physical position inside the archive
- projects and necessary changes for compiling ZipArchive as a DLL version (courtesy of Jonathan Reis) - see \ref subsDLL and \ref subDLLnotes
( they are not embedded into existing ones, but made separated, since the DLL version needs separated project for zlib.dll and for the static version,
zlib library is already included in the projects to minimize linking problems with applications)
- added CZipArchive::WillBeDuplicated which lets you check quickly if the given filename would duplicate an existing one in the archive
- CZipArchive::GetCount has now an additional parameter and can return the number of files in the archive not counting the directories
- CZipArchive::Close has been given also an additional parameter (bUpdateTimeStamp) and can set the modification time of the zip archive to the modification time of the newest file inside the archive
- method CZipArchive::GetIndexes added
- ZipArc application updated to support renaming, replacing (as well as updating files in the archive) and getting compressed files from another archive
Changes:
- zlib library updated to version 1.1.4 that fixes the security vulnerability in version 1.1.3
as described in
http://www.zlib.org/advisory-2002-03-11.txt
- if the file inside the archive has the wrong date/time stamp set, then the extracted file is given the current time instead of reporting an error
- a little change in CZipArchive::PredictFileNameInZip : parameter bAnsiOem changed to bExactly (apart from the name, the meaning has also been changed)
- removed parameter bFileNameOnly from CZipArchive::DeleteFiles(const CZipStringArray &);
Bugs fixed:
- eliminated possible errors when using CZipArchive::zipsmCheckForEff with disk-spanning mode
- reading some files created with other archivers failed occasionally in CZipFileHeader::ReadLocal (thanks to Christian von Seydlitz)
- while a file recompression (smartness level included CZipArchive::zipsmCheckForEff) if the
AutoFlush feature was enabled, there were redundant bytes added to the archive (thanks to Roman Scherzer)
- aborting extraction of multi-disk archive caused errors (thanks to Sabina Terenzi)
- some GUI fixes in ZipArc
Known issues:
- under Windows XP, in TD disk spanning mode, when the central directory is not entirely
written on the last volume (but divided between volumes), SHGetFileInfo hangs up (it is used i.e. by CFileDialog::DoModal) - Windows probably tries to analize
zip structure, but fails becuase it is an additional feature of ZipArchive library to create multi volume archives on non-removable data storage
ver 2.2 (10-2001) Time for global changes
Features added:
- deleting multiple files from the archive is now way faster - the files are not
deleted separately as it was so far, but the library creates a map of holes and continuous areas and moves the data to remain in file over the holes; it means that the data is copied
only once and not for every file to delete.
- callback functions has been replaced by functional objects to make the code cleaner and to make it possible to pass more information during a callback call (see CZipArchive::SetCallback). The same application written using the library with callback functions
and then with functional objects as callbacks (slightly modified) has proven to be circa 15% faster in the latter case (that's why it's in features), inter alia because only data that changes is passed to the callback method, method derived from CZipCallback::Callback can be inlined if defined inside the class declaration). Important issues:
- it affects the following functions parameters:
- CZipArchive::AddNewFile,
- CZipArchive::ExtractFile,
- CZipArchive::TestFile,
- CZipArchive::SetSpanCallback
- the meaning of the parameters passed to a callback functor is different from that what has so far been passed to the callback functions
(see CZipCallback)
- added callback feature when deleting files
- added callback feature when saving central directory
- added possibility to extract or delete files which filenames match the specified wildcard pattern (see CZipArchive::FindMatches)
- iterating the central directory elements speeded up (hence all the operations that iterate the central directory were speeded up, especially sorting, multiple adding, extracting, testing)
- the library now doesn't throw an exception if the platform the archive was created under is not supported, but it tries to distinguish files from directories
- CZipArchive::Flush can be called now for a disk-spanning archive in creation finalizing it then, and yet allows extracting or testing (see the function description for more)
- function CZipArchive::CloseNewFile can be called after an exception to allow to repair the archive later
- adding files with one of CZipArchive::AddNewFile functions can be safely aborted in a non-disk-spanning archive (the added data is removed from the archive)
- added function CZipException::GetErrorMessage for compatibility with MFC CException::GetErrorMessage
- added parameter bForce to CZipArchive::SetTempPath that creates the directory if it doesn't exists
- the archive created with the library under Windows can be now correctly extracted under Linux and vice versa without the need for setting the system compatibility of the files
- function CZipArchive::SetIgnoreCRC added to make possible working with the Java TM Archives (jar)
- function CZipArchive::GetFindFastIndex added
- function CZipArchive::GetCentralDirInfo added
- function CZipArchive::GetCentralDirSize added
- function CZipArchive::GetCurrentDisk added
- function CZipArchive::IsReadOnly added
- function CZipFileHeader::CompressionEfficient added
- function CZipFileHeader::GetCompressionRatio added
- const keywords added to functions
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -