From: Johannes Schindelin Date: Mon, 12 Jan 2009 13:33:44 GMT Subject: Re: [PATCH 2/2] grep: don't call regexec() for fixed strings Message-ID: In-Reply-To: <237967ef0901120425x79b7c1a4p238081a99694ae23@mail.gmail.com> Hi, On Mon, 12 Jan 2009, Mikael Magnusson wrote: > 2009/1/10 René Scharfe : > > Add the new flag "fixed" to struct grep_pat and set it if the pattern > > is doesn't contain any regex control characters in addition to if the > > flag -F/--fixed-strings was specified. > > > > diff --git a/grep.c b/grep.c > > index 394703b..a1092df 100644 > > --- a/grep.c > > +++ b/grep.c > > @@ -28,9 +28,31 @@ void append_grep_pattern(struct grep_opt *opt, const char *pat, > > p->next = NULL; > > } > > > > +static int isregexspecial(int c) > > +{ > > + return isspecial(c) || c == '$' || c == '(' || c == ')' || c == '+' || > > + c == '.' || c == '^' || c == '{' || c == '|'; > > +} > > Shouldn't this include '*' and '\'? This is covered by isspecial(): see ctype.c. Hth, Dscho