diff options
author | Anatol Belski <ab@php.net> | 2016-05-25 22:10:24 +0200 |
---|---|---|
committer | Anatol Belski <ab@php.net> | 2016-05-25 22:13:25 +0200 |
commit | 893c2405ff34250ffefbbc1d223de4df6c154c8a (patch) | |
tree | 7589ec8d8d3714d24738900d595d211bd17f69d2 /ext/zip/php_zip.c | |
parent | 38be3b28cb601f6015141eecfdb69bb5ce6c2b05 (diff) | |
download | php-git-893c2405ff34250ffefbbc1d223de4df6c154c8a.tar.gz |
Expose missing flags from libzip at least >= 0.11.x
These are helpful with reading/writing zips containing non UTF-8
filenames to mitigate possibly changed libzip behaviors.
Diffstat (limited to 'ext/zip/php_zip.c')
-rw-r--r-- | ext/zip/php_zip.c | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/ext/zip/php_zip.c b/ext/zip/php_zip.c index 7c9adf4af7..be35c2d2b1 100644 --- a/ext/zip/php_zip.c +++ b/ext/zip/php_zip.c @@ -3038,6 +3038,37 @@ static PHP_MINIT_FUNCTION(zip) REGISTER_ZIP_CLASS_CONST_LONG("FL_NODIR", ZIP_FL_NODIR); REGISTER_ZIP_CLASS_CONST_LONG("FL_COMPRESSED", ZIP_FL_COMPRESSED); REGISTER_ZIP_CLASS_CONST_LONG("FL_UNCHANGED", ZIP_FL_UNCHANGED); +#ifdef ZIP_FL_ENC_GUESS + /* Default filename encoding policy. */ + REGISTER_ZIP_CLASS_CONST_LONG("FL_ENC_GUESS", ZIP_FL_ENC_GUESS); +#endif +#ifdef ZIP_FL_ENC_RAW + REGISTER_ZIP_CLASS_CONST_LONG("FL_ENC_RAW", ZIP_FL_ENC_RAW); +#endif +#ifdef ZIP_FL_ENC_STRICT + REGISTER_ZIP_CLASS_CONST_LONG("FL_ENC_STRICT", ZIP_FL_ENC_STRICT); +#endif +#ifdef ZIP_FL_ENC_UTF_8 + REGISTER_ZIP_CLASS_CONST_LONG("FL_ENC_UTF_8", ZIP_FL_ENC_UTF_8); +#endif +#ifdef ZIP_FL_ENC_CP437 + REGISTER_ZIP_CLASS_CONST_LONG("FL_ENC_CP437", ZIP_FL_ENC_CP437); +#endif + +/* XXX The below are rather not implemented or to check whether makes sense to expose. */ +/*#ifdef ZIP_FL_RECOMPRESS + REGISTER_ZIP_CLASS_CONST_LONG("FL_RECOMPRESS", ZIP_FL_RECOMPRESS); +#endif +#ifdef ZIP_FL_ENCRYPTED + REGISTER_ZIP_CLASS_CONST_LONG("FL_ENCRYPTED", ZIP_FL_ENCRYPTED); +#endif +#ifdef ZIP_FL_LOCAL + REGISTER_ZIP_CLASS_CONST_LONG("FL_LOCAL", ZIP_FL_LOCAL); +#endif +#ifdef ZIP_FL_CENTRAL + REGISTER_ZIP_CLASS_CONST_LONG("FL_CENTRAL", ZIP_FL_CENTRAL); +#endif */ + REGISTER_ZIP_CLASS_CONST_LONG("CM_DEFAULT", ZIP_CM_DEFAULT); REGISTER_ZIP_CLASS_CONST_LONG("CM_STORE", ZIP_CM_STORE); REGISTER_ZIP_CLASS_CONST_LONG("CM_SHRINK", ZIP_CM_SHRINK); |