📄 changelog.txt
字号:
- TRACE messages are now easier to locate in MSVC++ (double clicking gets you directly to the code now)
Changes:
- if the callback functor's method Callback returns false,
a CZipException is thrown with code CZipException::abortedAction or CZipException::abortedSafely;
- function CZipArchive::DeleteFiles(const CZipStringArray) uses now FindFast array; added bFileNameOnly parameter
- function CZipArchive::GetNoEntries renamed to GetCount (more standard, easier to type and easier to find at the beginning)
- the encrypted file is not recompressed again if the difference in sizes before and after compression is the
length of the encryption header
- function CZipArchive::OpenFile throws exception CZipException::badPassword if the password
was not set for the encrypted file instead of returning false;
- versioning shortened
Bugs fixed:
- CZipStorage::Flush doesn't call now m_pFile->Flush() (it has proven to slow
down the archive creation speed significantly) - it is called in different places instead
- CZipArchive::TestFile sometimes was not detecting wrong password set
- filenames in zip are now correctly converted after calling CZipArchive::Flush
- fixed value of CZipArchive::zipsmCheckForEffInMem; the bug cause the temporary file to be always created in memory
- ZipPlatform::GetDeviceFreeSpace was not working on Windows with other devices than removable (in spite of what is written in MSDN
it is sometimes needed to add slash when passing drive name to GetDiskFreeSpace and sometimes not).
I'm not sure if this bug concerned all Windows platforms (it was detected on Windows 2000)
- crash eliminated when the file modification time could not be retrieved (in case of an impossible value e.g. a year is 28980)
- Unix attributes corrected
- CZipArchive::ExtractFile had wrong value passed to the callback function
ver 2.1.1 (10-2001)
Features added:
- Linux version at the beta stage (thanks to Luiz Rafael Culik for help)
- smart and efficient compression added to CZipArchive::AddNewFile
inter alia optional compression to a temporary file first or to memory, in a disk spanning mode,
to see whether the file is smaller after compression and if it is not
then add it without the compression (see also CZipArchive::Smartness)
- integration of the help system with MSDN made possible
- adding a file with the user-specified filename in zip ( CZipArchive::AddNewFile(LPCTSTR , LPCTSTR , int , int , unsigned long ) )
- adding files from memory and extracting files to memory
( CZipArchive::AddNewFile(CZipMemFile&, LPCTSTR, int, int, unsigned long) and
CZipArchive::ExtractFile(WORD, CZipMemFile&, DWORD))
- function CZipArchive::Flush added - increases the safety when working with zip archives (thanks to Brad Kremer for the idea)
- function CZipArchive::SetCaseSensitivity added (see the function description which functions it affects)
- function CZipArchive::PredictFileNameInZip added
- function CZipArchive::PredictExtractedFileName added
- function CZipArchive::FindFile speeded up again, the case-sensitivity parameter meaning changed, added possibility to find a filename only without a path (see the function description)
- function CZipArchive::TrimRootPath function improved
- function CZipArchive::Close allows now to write the central directory to the archive even after exception, which lets you e.g. repair the archive later
- obtaining error descriptions (English only) - see CZipException::GetErrorDescription()
- STL sample application added (a command line archiver which works for both Windows and Linux; located in stl/zippie)
- in TestZipDlg sample application added switch in options to allow an effective compression
- several minor enhancements
Changes:
- CZipPathComponent functions renamed : GetFullFileName -> GetFileName, GetFileName -> GetFileTitle, SetFileName -> SetFileTitle
- file __[...].zcfg is created depending on the current configuration when using scripts to copy files
Bugs fixed:
- when performing a non-case-sensitive search with CZipArchive::FindFile (thanks to Kenny Prole)
- in CZipString (STL) when using a different locale than English and
non-English characters
- CZipStorage::Flush call now m_pFile->Flush() as well (it might have caused a zip creation problems sometimes)
ver 1.6.6 (08-2001)
Features added:
- CZipPathComponent understands now a UNC path, so it is possible to
extract files over a network (other operations over a network were
already possible)
- sample application updated to reflect previous (ver 1.6.5) and
current changes (necessary prefix added to a UNC path following
the Windows File Name Conventions : see FAQ )
ver 1.6.5 (07-2001)
Features added:
- added function CZipArchive::SetRootPath that allows more flexible path
manipulations when using CZipArchive::AddNewFile and CZipArchive::ExtractFile
- ability to set the archive system compatibility to a value different
than the current system ID with the function CZipArchive::SetSystemCompatibility()
Bugs fixed:
- bug which caused not updating the time stamp of an extracted file
and an exception being thrown, if the file had the read-only attribute set
(thanks to Arnon Meydav)
- bugs in conversion of Unix attributes
- directories inside the archive are now recognized properly by Unix archivers
if the archive was created for Unix platform
ver 1.6.4 (06-2001)
- fixed errors that made impossible using CZipMemFile class and
creation of the archives in memory
ver 1.6.3 (05-2001)
- zlib library sources incorporated into ZipArchive library projects
(eliminates most often link errors)
ver 1.6.2 (04-2001)
- ZipPlatform::SetVolLabel() appends now a directory separator to the drive name (lack of it caused errors sometimes)
- added a simple protection against compiling MFC or STL version without copying the proper files first
- added several preprocessor directives for Borland compilers
ver 1.6.1 (03-2001)
Features added:
- non MFC dependent version (STL)
- porting to different platforms made easier
- possibility to read zip files created on other platforms than Windows
(correct interpretation of file/directory attributes)
- documentation generated (using Doxygen )
Changes:
- LICENSING CHANGED
- overall tuning
- sample application updated
ver 1.5.1 (02-2001)
Features added:
- ability to reuse the archive after an exception thrown during extraction
- added progress control possibilities to CZipArchive::AddNewFile, CZipArchive::ExtractFile, CZipArchive::TestFile
- when the central directory was not located, the library throws CZipException::cdirNotFound, which allows distinguish from other exceptions (useful when we want to keep prompting the user to insert the last disk in a multi-disk spanning archive).
Changes:
- CZipArchive::FindFile operation boosted (thanks to Darin Warling)
- library name changed to ZipArchive
- the sample application updated
Bugs fixed:
- removed bug during extracting an encrypted file with 0 size
- fixed bug when extracting a file with an extra field in a local file header (CFileHeader::ReadLocal)
ver 1.4.1 (01-2001)
- Disk numbering in a disk spanning archive begins now from PKBACK# 001 not PKBACK# 000
- Adding and extracting without a full path possible in CZipArchive::AddNewFile and CZipArchive::ExtractFile.
- Several minor changes and enhancements
- Changed names for several classes.
ver 1.3.1 (11-2000)
- Testing the archive made easier
- Added support for password encryption and decryption. The encryption used in PKZIP was generously supplied by Roger Schlafly.
- Support for compiling the sources for Unicode added
ver 1.2.2 (08-2000)
- Bugs fixed
ver 1.2.1 (06-2000)
the code has been completely rewritten from the very beginning;
the main improvements are:
- multi-disk archive support
- creation of the disk spanning archives with the user-defined volume size
- ability to modify existing archives (add, delete files)
- modification self-extracting archives
- write buffer used for faster disk write operations
- one class for zip and unzip functions
- fast adding, deleting and extracting files with a single function call
ver 1.1.2 (03-2000)
- international characters in filenames inside archive are now
converted in a compatible way with other archiving programs (they are stored
converted to OEM inside archive).
ver 1.1.1 (01-2000)
the first version; it is just modified code from zip.c and unzip.c files
written by Gilles Vollant and distributed with zlib library;
the modifications are as follows:
- added class' wrappers
- several bugs fixed
- several enhancements added
- MFC support added
- memory leaks eliminated when write error occurred
- automatically free used memory on destruction or exception
- modern error notification using exceptions
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -