Formerly rule.c.~3~

This commit is contained in:
Roland McGrath 1992-04-26 19:19:06 +00:00
parent f959c6b5b5
commit 8b8764b427

16
rule.c
View File

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