PERFORCE change 181071 for review
Gabor Kovesdan
gabor at FreeBSD.org
Sat Jul 17 00:25:03 UTC 2010
http://p4web.freebsd.org/@@181071?ac=10
Change 181071 by gabor at gabor_server on 2010/07/17 00:24:22
- Fix cases, where -v and multiple -e switches are specified
together.
Affected files ...
.. //depot/projects/soc2008/gabor_textproc/grep/util.c#89 edit
Differences ...
==== //depot/projects/soc2008/gabor_textproc/grep/util.c#89 (text+ko) ====
@@ -84,6 +84,7 @@
errx(2, "%s: %s", p->fts_path, strerror(p->fts_errno));
break;
case FTS_DP:
+ /* FALLTHROUGH */
case FTS_D:
break;
case FTS_DC:
@@ -260,11 +261,11 @@
if (fg_pattern[i].pattern) {
r = grep_search(&fg_pattern[i], (unsigned char *)l->dat,
l->len, &pmatch);
- r = (r == 0) ? (vflag ? REG_NOMATCH : 0) : (vflag ? 0 : REG_NOMATCH);
+ r = (r == 0) ? 0 : REG_NOMATCH;
st = pmatch.rm_eo;
} else {
r = regexec(&r_pattern[i], l->dat, 1, &pmatch, eflags);
- r = (r == 0) ? (vflag ? REG_NOMATCH : 0) : (vflag ? 0 : REG_NOMATCH);
+ r = (r == 0) ? 0 : REG_NOMATCH;
st = pmatch.rm_eo;
}
if (r == REG_NOMATCH)
@@ -298,10 +299,15 @@
if (m == 0)
c++;
if (m < MAX_LINE_MATCHES)
- matches[m] = pmatch;
- m++;
+ matches[m++] = pmatch;
+ /* Matches - no need to check more patterns */
+ break;
}
- break;
+ }
+
+ if (vflag) {
+ c = !c;
+ break;
}
/* One pass if we are not recording matches */
if (!oflag && !color)
More information about the p4-projects
mailing list