Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 6 Oct 2010 04:30:40 +0000 (UTC)
From:      Tim Kientzle <kientzle@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r213469 - head/usr.bin/tar
Message-ID:  <201010060430.o964Uekv082864@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: kientzle
Date: Wed Oct  6 04:30:40 2010
New Revision: 213469
URL: http://svn.freebsd.org/changeset/base/213469

Log:
  Recognize both ! and ^ as markers for negated character classes.
  
  Submitted by:	Mykola Dzham

Modified:
  head/usr.bin/tar/pathmatch.c

Modified: head/usr.bin/tar/pathmatch.c
==============================================================================
--- head/usr.bin/tar/pathmatch.c	Wed Oct  6 01:23:40 2010	(r213468)
+++ head/usr.bin/tar/pathmatch.c	Wed Oct  6 04:30:40 2010	(r213469)
@@ -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 *e
 	(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;



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201010060430.o964Uekv082864>