summaryrefslogtreecommitdiff
path: root/rule.c
diff options
context:
space:
mode:
authorRoland McGrath <roland@redhat.com>1992-04-26 19:19:06 +0000
committerRoland McGrath <roland@redhat.com>1992-04-26 19:19:06 +0000
commit8b8764b427a6e5af5afb1cb3941b463c81578881 (patch)
treed3ed78a278fc4190a9b8b3ef345793c2f78c3ff6 /rule.c
parentf959c6b5b5abfee2d6bd4040f6f1102007a84ab7 (diff)
downloadgunmake-8b8764b427a6e5af5afb1cb3941b463c81578881.tar.gz
Formerly rule.c.~3~
Diffstat (limited to 'rule.c')
-rw-r--r--rule.c16
1 files changed, 7 insertions, 9 deletions
diff --git a/rule.c b/rule.c
index 0a54f7d..1d8bcfd 100644
--- 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;