Formerly main.c.~68~
authorRoland McGrath <roland@redhat.com>
Tue, 12 Jan 1993 19:42:13 +0000 (19:42 +0000)
committerRoland McGrath <roland@redhat.com>
Tue, 12 Jan 1993 19:42:13 +0000 (19:42 +0000)
main.c

diff --git a/main.c b/main.c
index e2a613b..60e4e76 100644 (file)
--- a/main.c
+++ b/main.c
@@ -993,10 +993,6 @@ main (argc, argv, envp)
          }
       }
 
-    /* Print the data base under -p.  */
-    if (print_data_base_flag)
-      print_data_base ();
-
     if (goals == 0)
       {
        if (read_makefiles == 0)
@@ -1349,8 +1345,12 @@ decode_env_switches (envar, len)
   args[(value[0] == '-' ? 0 : 1) + len + 1] = '\0';
 
   /* Allocate a vector that is definitely big enough.  */
-  argv = (char **) alloca (len * sizeof (char *));
-  argc = 0;
+  argv = (char **) alloca (1 + len * sizeof (char *));
+
+  /* getopt will look at the arguments starting at ARGV[1].
+     Prepend a spacer word.  */
+  argv[0] = 0;
+  argc = 1;
   do
     {
       argv[argc++] = args;
@@ -1591,6 +1591,9 @@ die (status)
       /* Remove the intermediate files.  */
       remove_intermediates (0);
 
+      if (print_data_base_flag)
+       print_data_base ();
+
       if (print_directory_flag)
        log_working_directory (0);
     }