Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 6 Jul 2008 09:34:33 GMT
From:      Gabor Kovesdan <gabor@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 144768 for review
Message-ID:  <200807060934.m669YXvU094322@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=144768

Change 144768 by gabor@gabor_server on 2008/07/06 09:34:21

	- Revert previous change, this was not really what is desired

Affected files ...

.. //depot/projects/soc2008/gabor_textproc/grep/grep.c#55 edit
.. //depot/projects/soc2008/gabor_textproc/grep/grep.h#31 edit
.. //depot/projects/soc2008/gabor_textproc/grep/util.c#48 edit

Differences ...

==== //depot/projects/soc2008/gabor_textproc/grep/grep.c#55 (text+ko) ====

@@ -80,17 +80,10 @@
 int		 eflags = REG_STARTEND;
 
 int		 matchall;	/* shortcut */
-
-/* Searching patterns */
 int		 patterns, pattern_sz;
 char		**pattern;
 regex_t		*r_pattern;
 
-/* Filename exclusion patterns */
-int		 epatterns, epattern_sz;
-char		**epattern;
-regex_t		*er_pattern;
-
 /* For regex errors  */
 char	 re_error[RE_ERROR_BUF + 1];
 
@@ -119,7 +112,6 @@
 int	 xflag;		/* -x: pattern must match entire line */
 int	 lbflag;	/* --line-buffered */
 int	 nullflag;	/* --null */
-int	 exclflag;	/* --exclude */
 char	*label;		/* --label */
 char	*color;		/* --color */
 unsigned long long mcount;	/* count for -m */
@@ -136,8 +128,7 @@
 	MMAP_OPT,
 	LINEBUF_OPT,
 	LABEL_OPT,
-	NULL_OPT,
-	R_EXCLUDE_OPT
+	NULL_OPT
 };
 
 /* Housekeeping */
@@ -171,7 +162,6 @@
 	{"null",		no_argument,		NULL, NULL_OPT},
 	{"color",		optional_argument,	NULL, COLOR_OPT},
 	{"colour",		optional_argument,	NULL, COLOR_OPT},
-	{"exclude",		required_argument,	NULL, R_EXCLUDE_OPT},
 	{"after-context",	required_argument,	NULL, 'A'},
 	{"text",		no_argument,		NULL, 'a'},
 	{"before-context",	required_argument,	NULL, 'B'},
@@ -249,22 +239,6 @@
 }
 
 static void
-add_epattern(char *pat, size_t len)
-{
-	if (epatterns == epattern_sz) {
-		epattern_sz *= 2;
-		epattern = grep_realloc(epattern, ++epattern_sz * sizeof(*epattern));
-	}
-	if (len > 0 && pat[len - 1] == '\n')
-		 --len;
-        /* pat may not be NUL-terminated */
-	epattern[epatterns] = grep_malloc(len + 1);
-	memcpy(epattern[epatterns], pat, len);
-	epattern[epatterns][len] = '\0';
-	++epatterns;
-}
-
-static void
 read_patterns(const char *fn)
 {
 	FILE	*f;
@@ -507,12 +481,6 @@
 		case NULL_OPT:
 			nullflag = 1;
 			break;
-		case R_EXCLUDE_OPT:
-			if (dirbehave != DIR_RECURSE)
-				usage();
-			exclflag = 1;
-			add_epattern(optarg, strlen(optarg));
-			break;
 		case HELP_OPT:
 		default:
 			usage();
@@ -548,15 +516,6 @@
 			errx(2, "%s", re_error);
 		}
 	}
-	er_pattern = grep_calloc(epatterns, sizeof(*er_pattern));
-	for (i = 0; i < epatterns; ++i) {
-		c = regcomp(&er_pattern[i], epattern[i], REG_EXTENDED);
-		if (c != 0) {
-			regerror(c, &er_pattern[i], re_error,
-			    RE_ERROR_BUF);
-			errx(2, "%s", re_error);
-		}
-	}
 
 	if (lbflag)
 		setlinebuf(stdout);

==== //depot/projects/soc2008/gabor_textproc/grep/grep.h#31 (text+ko) ====

@@ -82,14 +82,14 @@
 /* Command line flags */
 extern int	 Eflag, Fflag, Gflag, Hflag, Jflag, Lflag, Zflag,
 		 bflag, cflag, hflag, iflag, lflag, mflag, nflag, oflag,
-		 qflag, sflag, vflag, wflag, xflag, nullflag, exclflag;
+		 qflag, sflag, vflag, wflag, xflag, nullflag;
 extern unsigned long long Aflag, Bflag, mcount;
 extern char	*color, *label;
 extern int	 binbehave, devbehave, dirbehave, linkbehave;
 
-extern int	 first, prev, matchall, patterns, epatterns, tail, notfound;
-extern char    **pattern, **epattern;
-extern regex_t	*r_pattern, *er_pattern;
+extern int	 first, prev, matchall, patterns, tail, notfound;
+extern char    **pattern;
+extern regex_t	*r_pattern;
 
 /* For regex errors  */
 #define RE_ERROR_BUF	512

==== //depot/projects/soc2008/gabor_textproc/grep/util.c#48 (text+ko) ====

@@ -62,7 +62,7 @@
 {
 	FTS		*fts;
 	FTSENT		*p;
-	int		 i, c, ok, fts_flags;
+	int		 c, fts_flags;
 
 	c = fts_flags = 0;
 
@@ -92,21 +92,7 @@
 				p->fts_path);
 			break;
 		default:
-			if (exclflag) {
-				regmatch_t	 pmatch;
-
-				ok = 1;
-				pmatch.rm_so = 0;
-				pmatch.rm_eo = strlen(p->fts_path);
-				for (i = 0; i < patterns; i++)
-					if (regexec(&er_pattern[i], p->fts_path, 0, &pmatch, eflags) == 0) {
-						ok = 0;
-						break;
-					}
-			} else
-				ok = 1;
-			if (ok)
-				c += procfile(p->fts_path);
+			c += procfile(p->fts_path);
 			break;
 		}
 	}



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