Rev | Line | |
---|
[821] | 1 | /* vi: set sw=4 ts=4: */
|
---|
| 2 | /*
|
---|
| 3 | * Copyright (C) 2002 by Glenn McGrath
|
---|
| 4 | *
|
---|
| 5 | * Licensed under GPLv2 or later, see file LICENSE in this tarball for details.
|
---|
| 6 | */
|
---|
| 7 |
|
---|
[1765] | 8 | #include "libbb.h"
|
---|
[821] | 9 | #include "unarchive.h"
|
---|
| 10 |
|
---|
| 11 | /*
|
---|
| 12 | * Accept names that are in the accept list and not in the reject list
|
---|
| 13 | */
|
---|
| 14 | char filter_accept_reject_list(archive_handle_t *archive_handle)
|
---|
| 15 | {
|
---|
| 16 | const char *key = archive_handle->file_header->name;
|
---|
[1765] | 17 | const llist_t *reject_entry = find_list_entry2(archive_handle->reject, key);
|
---|
[821] | 18 | const llist_t *accept_entry;
|
---|
| 19 |
|
---|
| 20 | /* If the key is in a reject list fail */
|
---|
| 21 | if (reject_entry) {
|
---|
[1765] | 22 | return EXIT_FAILURE;
|
---|
[821] | 23 | }
|
---|
[1765] | 24 | accept_entry = find_list_entry2(archive_handle->accept, key);
|
---|
[821] | 25 |
|
---|
| 26 | /* Fail if an accept list was specified and the key wasnt in there */
|
---|
| 27 | if ((accept_entry == NULL) && archive_handle->accept) {
|
---|
[1765] | 28 | return EXIT_FAILURE;
|
---|
[821] | 29 | }
|
---|
| 30 |
|
---|
| 31 | /* Accepted */
|
---|
[1765] | 32 | return EXIT_SUCCESS;
|
---|
[821] | 33 | }
|
---|
Note:
See
TracBrowser
for help on using the repository browser.