From 02d6107c97b48888362e7c6a70dcac323c89d741 Mon Sep 17 00:00:00 2001 From: Tomas Bzatek Date: Sun, 17 Dec 2023 21:23:58 +0100 Subject: ZipArchive: Update to the 4.6.9 release --- zip/ZipArchive/_features.h | 120 ++++++++++++++++++++++++++++++++++++--------- 1 file changed, 98 insertions(+), 22 deletions(-) (limited to 'zip/ZipArchive/_features.h') diff --git a/zip/ZipArchive/_features.h b/zip/ZipArchive/_features.h index b8ff811..b348338 100644 --- a/zip/ZipArchive/_features.h +++ b/zip/ZipArchive/_features.h @@ -1,6 +1,6 @@ //////////////////////////////////////////////////////////////////////////////// -// This source file is part of the ZipArchive library source distribution and -// is Copyrighted 2000 - 2007 by Artpol Software - Tadeusz Dracz +// This source file is part of the ZipArchive Library Open Source distribution +// and is Copyrighted 2000 - 2022 by Artpol Software - Tadeusz Dracz // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License @@ -9,15 +9,14 @@ // // For the licensing details refer to the License.txt file. // -// Web Site: http://www.artpol-software.com +// Web Site: https://www.artpol-software.com //////////////////////////////////////////////////////////////////////////////// /** * \file _features.h -* Contains definitions that enable or disable certain features in the ZipArchive Library. +* Contains the definitions that enable or disable certain features in the ZipArchive Library. * */ - #if !defined(ZIPARCHIVE_FEATURES_DOT_H) /// @cond #define ZIPARCHIVE_FEATURES_DOT_H @@ -27,6 +26,7 @@ #pragma once #endif +// #define _ZIP_TRIAL #include "_platform.h" #ifdef __GNUC__ @@ -41,57 +41,133 @@ /************************************ BLOCK START ***********************************/ /** - Make sure it is defined, if you use ZIP64. Comment this out otherwise. + Define it, if you use ZIP64. \see 0610051629 */ -// #define _ZIP64 - +// #define _ZIP_ZIP64 /** - Make sure it is defined, if you use AES. Comment this out otherwise. + Define it, if you use AES. \see 0610201627|aes */ -// #define _ZIP_AES - +// #define _ZIP_AES /** - Make sure it is defined, if you use the BZIP2 algorithm for compression. Comment this out otherwise. + Define it, if you use the BZIP2 algorithm for compression. \see 0610231446|bzip2 */ -// #define _BZIP2 - +// #define _ZIP_BZIP2 /** - Make sure it is defined, if you want to create seekable data. + Define it, if you want to create seekable data. \see 0711101739 */ -// #define _ZIP_SEEK +// #define _ZIP_SEEK +/** + Define it, if you want to use Unicode support for filenames and comments (WinZip compatible). This functionality is available in the Full Version only. + Under Windows, this functionality requires Unicode compilation. + \see + 0610051525|unicode + +*/ +// #define _ZIP_UNICODE /** - Make sure it is defined, if you use the AES encryption in a multithreaded environment or archive sharing (CZipArchive::OpenFrom). Comment this out otherwise. + Define it, if you want to use custom Unicode support for filenames and comments provided by the ZipArchive Library. This functionality is available only under Windows and is deprecated. + Requires Unicode compilation. + + \see + 0610051525|custom + +*/ +// #define _ZIP_UNICODE_CUSTOM +/** + Define it, if you use Unicode and under Windows you decompress archives from systems that use different Unicode Normalization form for filenames (like OS X). + This functionality is available only under Windows and requires Unicode compilation. + + \see + 0610051525|considerNormal + +*/ +// #define _ZIP_UNICODE_NORMALIZE +/** + Define it, if you use the AES encryption in a multithreaded environment or archive sharing (CZipArchive::OpenFrom). \see 0610201627|aes \see 0610241003|thread */ -// #define ZIP_ARCHIVE_USE_LOCKING - -#ifndef _ZIP64 +// #define _ZIP_USE_LOCKING +#ifndef _ZIP_ZIP64 // Uncomment this to have the index and volume numbers types defined as WORD. Otherwise they are defined as int. -#define _ZIP_STRICT_U16 +#define _ZIP_STRICT_U16 #endif - /************************************* BLOCK END ***********************************/ /***** The contents below this line are usually not intended for modification ******/ +/** + Default implementation of CZipFile class. + + \see + 0610050933|fileImpl +*/ +#define ZIP_ZFI_DEFAULT 0 + +/** + STL implementation of CZipFile class. + + \see + 0610050933|fileImpl +*/ +#define ZIP_ZFI_STL 1 + +/** + Windows API implementation of CZipFile class. + + \see + 0610050933|fileImpl +*/ +#define ZIP_ZFI_WIN 2 + +/** + Active implementation of CZipFile class. + + \see + 0610050933|fileImpl +*/ +#define _ZIP_FILE_IMPLEMENTATION ZIP_ZFI_DEFAULT + +#if defined _ZIP_ZIP64 && (defined __BORLANDC__ || (defined _MSC_VER && _MSC_VER < 1300 && defined _ZIP_IMPL_MFC)) + /** + Define this, if you want to use Zip64 functionality in Visual Studio 6.0 MFC or C++Builder. These platforms do not support large files, + but this definition will cause to use the STL implementation of CZipFile (which has the support for large files) instead of MFC. + \see + 0610050933|fileImpl + */ + #if _ZIP_FILE_IMPLEMENTATION != ZIP_ZFI_WIN + #undef _ZIP_FILE_IMPLEMENTATION + #define _ZIP_FILE_IMPLEMENTATION ZIP_ZFI_WIN + #endif +#endif + +#ifdef _ZIP_UNICODE_NORMALIZE + #if !defined _MSC_VER && !defined __BORLANDC__ + #undef _ZIP_UNICODE_NORMALIZE + #else + // uncomment the below, if you are having compilation problems with Unicode Normalization functions in ZipPlatform::MultiByteToWide + //#if WINVER < 0x600 + // #define WINVER 0x600 + //#endif + #endif +#endif #endif // !defined(ZIPARCHIVE_FEATURES_DOT_H) -- cgit v1.2.3