source: branches/3.2/mindi-busybox/archival/libarchive/filter_accept_reject_list.c @ 3232

Last change on this file since 3232 was 3232, checked in by bruno, 6 years ago
  • Update mindi-busybox to 1.21.1
  • Property svn:eol-style set to native
File size: 883 bytes
Line 
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 source tree.
6 */
7
8#include "libbb.h"
9#include "bb_archive.h"
10
11/*
12 * Accept names that are in the accept list and not in the reject list
13 */
14char FAST_FUNC filter_accept_reject_list(archive_handle_t *archive_handle)
15{
16    const char *key;
17    const llist_t *reject_entry;
18    const llist_t *accept_entry;
19
20    key = archive_handle->file_header->name;
21
22    /* If the key is in a reject list fail */
23    reject_entry = find_list_entry2(archive_handle->reject, key);
24    if (reject_entry) {
25        return EXIT_FAILURE;
26    }
27
28    /* Fail if an accept list was specified and the key wasnt in there */
29    if (archive_handle->accept) {
30        accept_entry = find_list_entry2(archive_handle->accept, key);
31        if (!accept_entry) {
32            return EXIT_FAILURE;
33        }
34    }
35
36    /* Accepted */
37    return EXIT_SUCCESS;
38}
Note: See TracBrowser for help on using the repository browser.