summaryrefslogtreecommitdiff
path: root/zip/ZipArchive/_features.h
diff options
context:
space:
mode:
Diffstat (limited to 'zip/ZipArchive/_features.h')
-rw-r--r--zip/ZipArchive/_features.h120
1 files changed, 98 insertions, 22 deletions
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
<a href="kb">0610051629</a>
*/
-// #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
<a href="kb">0610201627|aes</a>
*/
-// #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
<a href="kb">0610231446|bzip2</a>
*/
-// #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
<a href="kb">0711101739</a>
*/
-// #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
+ <a href="kb">0610051525|unicode</a>
+
+*/
+// #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
+ <a href="kb">0610051525|custom</a>
+
+*/
+// #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
+ <a href="kb">0610051525|considerNormal</a>
+
+*/
+// #define _ZIP_UNICODE_NORMALIZE
+/**
+ Define it, if you use the AES encryption in a multithreaded environment or archive sharing (CZipArchive::OpenFrom).
\see
<a href="kb">0610201627|aes</a>
\see
<a href="kb">0610241003|thread</a>
*/
-// #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
+ <a href="kb">0610050933|fileImpl</a>
+*/
+#define ZIP_ZFI_DEFAULT 0
+
+/**
+ STL implementation of CZipFile class.
+
+ \see
+ <a href="kb">0610050933|fileImpl</a>
+*/
+#define ZIP_ZFI_STL 1
+
+/**
+ Windows API implementation of CZipFile class.
+
+ \see
+ <a href="kb">0610050933|fileImpl</a>
+*/
+#define ZIP_ZFI_WIN 2
+
+/**
+ Active implementation of CZipFile class.
+
+ \see
+ <a href="kb">0610050933|fileImpl</a>
+*/
+#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
+ <a href="kb">0610050933|fileImpl</a>
+ */
+ #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)