File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -285,9 +285,13 @@ static void arch_obj_setup_support(arch_object *arch_obj)
285285 if (arch_obj -> filters == NULL ) {
286286 archive_read_support_filter_all (arch_obj -> archive );
287287 } else {
288+ #if ARCHIVE_VERSION_NUMBER >= 3005000
288289 for (uint32_t i = 0 ; i < arch_obj -> filters_count ; i ++ ) {
289290 archive_read_support_filter_by_code (arch_obj -> archive , arch_obj -> filters [i ]);
290291 }
292+ #else
293+ archive_read_support_filter_all (arch_obj -> archive );
294+ #endif
291295 }
292296 if (arch_obj -> formats == NULL ) {
293297 archive_read_support_format_all (arch_obj -> archive );
@@ -454,6 +458,11 @@ PHP_METHOD(libarchive_Archive, supportFilters)
454458 "Cannot change filter after archive has been opened" , -1 );
455459 return ;
456460 }
461+ #if ARCHIVE_VERSION_NUMBER < 3005000
462+ php_error_docref (NULL , E_WARNING ,
463+ "supportFilters() requires libarchive >= 3.5.0; all filters will be enabled" );
464+ RETURN_THIS ();
465+ #endif
457466 efree (arch_obj -> filters );
458467 arch_obj -> filters = safe_emalloc (num_args , sizeof (int ), 0 );
459468 arch_obj -> filters_count = num_args ;
You can’t perform that action at this time.
0 commit comments