Performance improvement.
authorBoris Kolpackov <boris@kolpackov.net>
Fri, 25 Sep 2009 15:51:11 +0000 (15:51 +0000)
committerBoris Kolpackov <boris@kolpackov.net>
Fri, 25 Sep 2009 15:51:11 +0000 (15:51 +0000)
ChangeLog
implicit.c

index 9caef15..545ea53 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
 2009-09-25 Boris Kolpackov  <boris@codesynthesis.com>
 
+       * implicit.c (pattern_search): Terminate early if we haven't
+       found any rules to try (performance improvement).
+
+2009-09-25 Boris Kolpackov  <boris@codesynthesis.com>
+
        * implicit.c (pattern_search): Merge three parallel arrays,
        TRYRULES, MATCHES, and CHECKED_LASTSLASH, into one array
        of struct TRYRULE. In the old version the latter two arrays
index 6db4d0e..c3e35f7 100644 (file)
@@ -390,6 +390,10 @@ pattern_search (struct file *file, int archive,
         }
     }
 
+  /* Bail out early if we haven't found any rules. */
+  if (nrules == 0)
+    goto done;
+
   /* If we have found a matching rule that won't match all filenames,
      retroactively reject any non-"terminal" rules that do always match.  */
   if (specific_rule_matched)