]> git.ipfire.org Git - thirdparty/make.git/commitdiff
Formerly rule.c.~3~
authorRoland McGrath <roland@redhat.com>
Sun, 26 Apr 1992 19:19:06 +0000 (19:19 +0000)
committerRoland McGrath <roland@redhat.com>
Sun, 26 Apr 1992 19:19:06 +0000 (19:19 +0000)
rule.c

diff --git a/rule.c b/rule.c
index 0a54f7d4671226a9a86feb434ade4785ddb39647..1d8bcfdaf0d769a623bd465b0c6c204d716c9c2e 100644 (file)
--- a/rule.c
+++ b/rule.c
@@ -71,12 +71,14 @@ count_implicit_rule_limits ()
   
   name = 0;
   namelen = 0;
-  rule = lastrule = pattern_rules;
+  rule = pattern_rules;
+  lastrule = 0;
   while (rule != 0)
     {
       unsigned int ndeps = 0;
       register struct dep *dep;
-      
+      struct rule *next = rule->next;
+    
       ++num_pattern_rules;
       
       for (dep = rule->deps; dep != 0; dep = dep->next)
@@ -109,7 +111,6 @@ count_implicit_rule_limits ()
                  if (*name == '/')
                    {
                      freerule (rule, lastrule);
-                     rule = lastrule;
                      goto end_main_loop;
                    }
                  else
@@ -121,9 +122,9 @@ count_implicit_rule_limits ()
       if (ndeps > max_pattern_deps)
        max_pattern_deps = ndeps;
 
-    end_main_loop:;
       lastrule = rule;
-      rule = rule->next;
+    end_main_loop:
+      rule = next;
     }
   
   if (name != 0)
@@ -391,11 +392,8 @@ freerule (rule, lastrule)
 
   free ((char *) rule);
 
-  if (lastrule == 0)
-    return;
-
   if (pattern_rules == rule)
-    if (lastrule != pattern_rules)
+    if (lastrule != 0)
       abort ();
     else
       pattern_rules = next;