Path: blob/main/contrib/libarchive/libarchive/archive_pathmatch.h
39478 views
/*-1* Copyright (c) 2003-2007 Tim Kientzle2* All rights reserved.3*4* Redistribution and use in source and binary forms, with or without5* modification, are permitted provided that the following conditions6* are met:7* 1. Redistributions of source code must retain the above copyright8* notice, this list of conditions and the following disclaimer9* in this position and unchanged.10* 2. Redistributions in binary form must reproduce the above copyright11* notice, this list of conditions and the following disclaimer in the12* documentation and/or other materials provided with the distribution.13*14* THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR15* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES16* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.17* IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT,18* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT19* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,20* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY21* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT22* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF23* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.24*/2526#ifndef ARCHIVE_PATHMATCH_H27#define ARCHIVE_PATHMATCH_H2829#ifndef __LIBARCHIVE_BUILD30#ifndef __LIBARCHIVE_TEST31#error This header is only to be used internally to libarchive.32#endif33#endif3435/* Don't anchor at beginning unless the pattern starts with "^" */36#define PATHMATCH_NO_ANCHOR_START 137/* Don't anchor at end unless the pattern ends with "$" */38#define PATHMATCH_NO_ANCHOR_END 23940/* Note that "^" and "$" are not special unless you set the corresponding41* flag above. */4243int __archive_pathmatch(const char *p, const char *s, int flags);44int __archive_pathmatch_w(const wchar_t *p, const wchar_t *s, int flags);4546#define archive_pathmatch(p, s, f) __archive_pathmatch(p, s, f)47#define archive_pathmatch_w(p, s, f) __archive_pathmatch_w(p, s, f)4849#endif505152