- Fix handling of the case when multiple patterns are specified in a single

command line argument, separated by newlines

PR:		bin/173673
Submitted by:	ache
MFC after:	1 week
This commit is contained in:
Gabor Kovesdan 2013-01-05 14:52:31 +00:00
parent bf70b87555
commit e411593d4b
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=245057

View File

@ -479,7 +479,13 @@ main(int argc, char *argv[])
grepbehave = GREP_EXTENDED;
break;
case 'e':
add_pattern(optarg, strlen(optarg));
{
char *token;
char *string = strdup(optarg);
while ((token = strsep(&string, "\n")) != NULL)
add_pattern(token, strlen(token));
}
needpattern = 0;
break;
case 'F':
@ -668,7 +674,11 @@ main(int argc, char *argv[])
/* Process patterns from command line */
if (aargc != 0 && needpattern) {
add_pattern(*aargv, strlen(*aargv));
char *token;
char *string = strdup(*aargv);
while ((token = strsep(&string, "\n")) != NULL)
add_pattern(token, strlen(token));
--aargc;
++aargv;
}