From 0a950a05005f94e56bd2a42b99a0961db86952db Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Mon, 30 Dec 2013 07:35:30 +0100 Subject: Sync with pecl/zip 1.12.4dev - update bunled libzip to 0.11.2 - expose zip_file_set_external_attributes + zip_file_get_external_attributes with new methods: ZipArchive::setExternalAttributesName ZipArchive::setExternalAttributesIndex ZipArchive::getExternalAttributesName ZipArchive::getExternalAttributesIndex --- ext/zip/lib/zip_extra_field_api.c | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'ext/zip/lib/zip_extra_field_api.c') diff --git a/ext/zip/lib/zip_extra_field_api.c b/ext/zip/lib/zip_extra_field_api.c index 02ed4555e0..3e936d2664 100644 --- a/ext/zip/lib/zip_extra_field_api.c +++ b/ext/zip/lib/zip_extra_field_api.c @@ -46,6 +46,11 @@ zip_file_extra_field_delete(struct zip *za, zip_uint64_t idx, zip_uint16_t ef_id _zip_error_set(&za->error, ZIP_ER_INVAL, 0); return -1; } + + if (((flags & ZIP_EF_BOTH) == ZIP_EF_BOTH) && (ef_idx != ZIP_EXTRA_FIELD_ALL)) { + _zip_error_set(&za->error, ZIP_ER_INVAL, 0); + return -1; + } if (_zip_get_dirent(za, idx, 0, NULL) == NULL) return -1; @@ -75,6 +80,11 @@ zip_file_extra_field_delete_by_id(struct zip *za, zip_uint64_t idx, zip_uint16_t _zip_error_set(&za->error, ZIP_ER_INVAL, 0); return -1; } + + if (((flags & ZIP_EF_BOTH) == ZIP_EF_BOTH) && (ef_idx != ZIP_EXTRA_FIELD_ALL)) { + _zip_error_set(&za->error, ZIP_ER_INVAL, 0); + return -1; + } if (_zip_get_dirent(za, idx, 0, NULL) == NULL) return -1; -- cgit v1.2.1