From 62e8630bdcb7940499a862e1387ee6353153bc90 Mon Sep 17 00:00:00 2001
From: Roland McGrath <roland@redhat.com>
Date: Tue, 14 Jul 1992 23:08:36 +0000
Subject: [PATCH] Formerly rule.c.~6~

---
 rule.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/rule.c b/rule.c
index 105cea5d..e27a38e6 100644
--- a/rule.c
+++ b/rule.c
@@ -94,6 +94,8 @@ count_implicit_rule_limits ()
 
 	  if (p != 0 && p2 > p)
 	    {
+	      /* There is a slash before the % in the dep name.
+		 Extract the directory name.  */
 	      if (p == dep->name)
 		++p;
 	      if (p - dep->name > namelen)
@@ -108,12 +110,16 @@ count_implicit_rule_limits ()
 
 	      if (!dir_file_exists_p (name, "."))
 		{
+		  /* The name is absolute and the directory does not exist.  */
 		  if (*name == '/')
 		    {
 		      freerule (rule, lastrule);
+		      --num_pattern_rules;
 		      goto end_main_loop;
 		    }
 		  else
+		    /* The directory does not exist, but
+		       it might be found in a VPATH directory.  */
 		    rule->subdir = 1;
 		}
 	    }
@@ -524,4 +530,8 @@ print_rule_data_base ()
 #endif
       puts (" reference nonexistent subdirectories.");
     }
+
+  if (num_pattern_rules != rules)
+    fatal ("BUG: num_pattern_rules wrong!  %u != %u",
+	   num_pattern_rules, rules);
 }