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

Last change on this file since 3186 was 2725, checked in by bruno, 8 years ago
  • Update mindi-busybox to 1.18.3 to avoid problems with the tar command which is now failing on recent versions with busybox 1.7.3
  • Property svn:eol-style set to native
File size: 877 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 "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    accept_entry = find_list_entry2(archive_handle->accept, key);
28
29    /* Fail if an accept list was specified and the key wasnt in there */
30    if ((accept_entry == NULL) && archive_handle->accept) {
31        return EXIT_FAILURE;
32    }
33
34    /* Accepted */
35    return EXIT_SUCCESS;
36}
Note: See TracBrowser for help on using the repository browser.