Code

Merge branch 'fk/threaded-grep'
[git.git] / grep.c
diff --git a/grep.c b/grep.c
index d281a020e8452939d7dad0ab53876a8476a5cc89..60cce469f3be7c812bf24c4534e7321207b73a24 100644 (file)
--- a/grep.c
+++ b/grep.c
@@ -675,8 +675,15 @@ static int look_ahead(struct grep_opt *opt,
 
                if (p->fixed)
                        hit = !fixmatch(p->pattern, bol, p->ignore_case, &m);
-               else
+               else {
+#ifdef REG_STARTEND
+                       m.rm_so = 0;
+                       m.rm_eo = *left_p;
+                       hit = !regexec(&p->regexp, bol, 1, &m, REG_STARTEND);
+#else
                        hit = !regexec(&p->regexp, bol, 1, &m, 0);
+#endif
+               }
                if (!hit || m.rm_so < 0 || m.rm_eo < 0)
                        continue;
                if (earliest < 0 || m.rm_so < earliest)