From 7c456a73686ced966739157bfe31a2971b09c032 Mon Sep 17 00:00:00 2001
From: Roland McGrath <roland@redhat.com>
Date: Mon, 18 Oct 1993 11:04:04 +0000
Subject: [PATCH] Formerly rule.c.~16~

---
 rule.c | 50 +++++++++++++++++++++++++++++---------------------
 1 file changed, 29 insertions(+), 21 deletions(-)

diff --git a/rule.c b/rule.c
index 027aa293..98d70105 100644
--- a/rule.c
+++ b/rule.c
@@ -503,13 +503,37 @@ create_pattern_rule (targets, target_percents,
 
 /* Print the data base of rules.  */
 
+static void			/* Useful to call from gdb.  */
+print_rule (r)
+     struct rule *r;
+{
+  register unsigned int i;
+  register struct dep *d;
+
+  for (i = 0; r->targets[i] != 0; ++i)
+    {
+      fputs (r->targets[i], stdout);
+      if (r->targets[i + 1] != 0)
+	putchar (' ');
+      else
+	putchar (':');
+    }
+  if (r->terminal)
+    putchar (':');
+
+  for (d = r->deps; d != 0; d = d->next)
+    printf (" %s", dep_name (d));
+  putchar ('\n');
+
+  if (r->cmds != 0)
+    print_commands (r->cmds);
+}
+
 void
 print_rule_data_base ()
 {
   register unsigned int rules, terminal;
   register struct rule *r;
-  register struct dep *d;
-  register unsigned int i;
 
   puts ("\n# Implicit Rules");
 
@@ -519,26 +543,10 @@ print_rule_data_base ()
       ++rules;
 
       putchar ('\n');
-      for (i = 0; r->targets[i] != 0; ++i)
-	{
-	  fputs (r->targets[i], stdout);
-	  if (r->targets[i + 1] != 0)
-	    putchar (' ');
-	  else
-	    putchar (':');
-	}
+      print_rule (r);
+
       if (r->terminal)
-	{
-	  ++terminal;
-	  putchar (':');
-	}
-
-      for (d = r->deps; d != 0; d = d->next)
-	printf (" %s", dep_name (d));
-      putchar ('\n');
-
-      if (r->cmds != 0)
-	print_commands (r->cmds);
+	++terminal;
     }
 
   if (rules == 0)