aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Matuska <mm@FreeBSD.org>2011-12-21 15:22:05 +0000
committerMartin Matuska <mm@FreeBSD.org>2011-12-21 15:22:05 +0000
commite9dd49674a5ddafac6a46cd903ea2a75e4918f9b (patch)
treeb8137b4e7a5998be517a59c08d038519ce4ecb79
parent457fe389bb5fd051bf95ad6d89584f38cfe51b59 (diff)
downloadsrc-e9dd49674a5ddafac6a46cd903ea2a75e4918f9b.tar.gz
src-e9dd49674a5ddafac6a46cd903ea2a75e4918f9b.zip
Merge FreeBSD changes from usr.bin/tar to contrib/libarchive/libarchive_fe:
r213469: Recognize both ! and ^ as markers for negated character classes. MFC after: 2 weeks
Notes
Notes: svn path=/head/; revision=228775
-rw-r--r--contrib/libarchive/libarchive_fe/pathmatch.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/contrib/libarchive/libarchive_fe/pathmatch.c b/contrib/libarchive/libarchive_fe/pathmatch.c
index 85074bdb30b2..e211362066ef 100644
--- a/contrib/libarchive/libarchive_fe/pathmatch.c
+++ b/contrib/libarchive/libarchive_fe/pathmatch.c
@@ -35,7 +35,7 @@ __FBSDID("$FreeBSD$");
/*
* Check whether a character 'c' is matched by a list specification [...]:
- * * Leading '!' negates the class.
+ * * Leading '!' or '^' negates the class.
* * <char>-<char> is a range of characters
* * \<char> removes any special meaning for <char>
*
@@ -60,7 +60,7 @@ pm_list(const char *start, const char *end, const char c, int flags)
(void)flags; /* UNUSED */
/* If this is a negated class, return success for nomatch. */
- if (*p == '!' && p < end) {
+ if ((*p == '!' || *p == '^') && p < end) {
match = 0;
nomatch = 1;
++p;