__LA_DECL int archive_read_disk_set_name_filter_callback(struct archive *,
int (*_name_filter_func)(struct archive *, void *,
struct archive_entry *), void *_client_data);
-__LA_DECL int archive_read_disk_set_time_filter_callback(struct archive *,
- int (*_time_filter_func)(struct archive *, void *,
+__LA_DECL int archive_read_disk_set_metadata_filter_callback(struct archive *,
+ int (*_metadata_filter_func)(struct archive *, void *,
struct archive_entry *), void *_client_data);
/*
if (name != NULL)
archive_entry_copy_gname(entry, name);
/* Invoke a filter callback. */
- if (a->time_filter_func) {
- if (!a->time_filter_func(_a, a->time_filter_data, entry)) {
+ if (a->metadata_filter_func) {
+ if (!a->metadata_filter_func(_a,
+ a->metadata_filter_data, entry)) {
archive_entry_clear(entry);
goto next_entry;
}
}
int
-archive_read_disk_set_time_filter_callback(struct archive *_a,
- int (*_time_filter_func)(struct archive *, void *, struct archive_entry *),
- void *_client_data)
+archive_read_disk_set_metadata_filter_callback(struct archive *_a,
+ int (*_metadata_filter_func)(struct archive *, void *,
+ struct archive_entry *), void *_client_data)
{
struct archive_read_disk *a = (struct archive_read_disk *)_a;
archive_check_magic(_a, ARCHIVE_READ_DISK_MAGIC, ARCHIVE_STATE_ANY,
- "archive_read_disk_set_time_filter_callback");
+ "archive_read_disk_set_metadata_filter_callback");
- a->time_filter_func = _time_filter_func;
- a->time_filter_data = _client_data;
+ a->metadata_filter_func = _metadata_filter_func;
+ a->metadata_filter_data = _client_data;
return (ARCHIVE_OK);
}
int (*name_filter_func)(struct archive *, void *,
struct archive_entry *);
void *name_filter_data;
- int (*time_filter_func)(struct archive *, void *,
+ int (*metadata_filter_func)(struct archive *, void *,
struct archive_entry *);
- void *time_filter_data;
+ void *metadata_filter_data;
};
if (name != NULL)
archive_entry_copy_gname(entry, name);
/* Invoke a filter callback. */
- if (a->time_filter_func) {
- if (!a->time_filter_func(_a, a->time_filter_data, entry)) {
+ if (a->metadata_filter_func) {
+ if (!a->metadata_filter_func(_a,
+ a->metadata_filter_data, entry)) {
archive_entry_clear(entry);
goto next_entry;
}
}
int
-archive_read_disk_set_time_filter_callback(struct archive *_a,
- int (*_time_filter_func)(struct archive *, void *, struct archive_entry *),
- void *_client_data)
+archive_read_disk_set_metadata_filter_callback(struct archive *_a,
+ int (*_metadata_filter_func)(struct archive *, void *,
+ struct archive_entry *), void *_client_data)
{
struct archive_read_disk *a = (struct archive_read_disk *)_a;
archive_check_magic(_a, ARCHIVE_READ_DISK_MAGIC, ARCHIVE_STATE_ANY,
- "archive_read_disk_set_time_filter_callback");
+ "archive_read_disk_set_metadata_filter_callback");
- a->time_filter_func = _time_filter_func;
- a->time_filter_data = _client_data;
+ a->metadata_filter_func = _metadata_filter_func;
+ a->metadata_filter_data = _client_data;
return (ARCHIVE_OK);
}
}
static int
-time_filter(struct archive *a, void *data, struct archive_entry *ae)
+metadata_filter(struct archive *a, void *data, struct archive_entry *ae)
{
failure("CTime should be set");
assertEqualInt(8, archive_entry_ctime_is_set(ae));
if (archive_read_disk_can_descend(a)) {
/* Descend into the current object */
failure("archive_read_disk_can_descend should work"
- "in time filter");
+ " in metadata filter");
assertEqualIntA(a, 1, archive_read_disk_can_descend(a));
- failure("archive_read_disk_descend should work in time filter");
+ failure("archive_read_disk_descend should work"
+ " in metadata filter");
assertEqualIntA(a, ARCHIVE_OK, archive_read_disk_descend(a));
}
return (1);
assertEqualInt(ARCHIVE_OK, archive_read_close(a));
/*
- * Test2: Traversals with a time filter.
+ * Test2: Traversals with a metadata filter.
*/
assertUtimes("cb/f1", 886600, 0, 886600, 0);
assertUtimes("cb/f2", 886611, 0, 886611, 0);
assertEqualIntA(a, ARCHIVE_OK,
archive_read_disk_set_name_filter_callback(a, NULL, NULL));
assertEqualIntA(a, ARCHIVE_OK,
- archive_read_disk_set_time_filter_callback(a, time_filter, NULL));
+ archive_read_disk_set_metadata_filter_callback(a, metadata_filter,
+ NULL));
failure("Directory traversals should work as well");
assertEqualIntA(a, ARCHIVE_OK, archive_read_disk_open(a, "cb"));