Formerly main.c.~73~

This commit is contained in:
Roland McGrath 1993-03-08 18:49:51 +00:00
parent 7c675f86e6
commit d5ef06dee5

9
main.c
View file

@ -373,6 +373,7 @@ main (argc, argv, envp)
register struct dep *lastgoal; register struct dep *lastgoal;
struct dep *read_makefiles; struct dep *read_makefiles;
PATH_VAR (current_directory); PATH_VAR (current_directory);
char *directory_before_chdir;
default_goal_file = 0; default_goal_file = 0;
reading_filename = 0; reading_filename = 0;
@ -461,7 +462,11 @@ main (argc, argv, envp)
error ("getwd: %s", current_directory); error ("getwd: %s", current_directory);
#endif #endif
current_directory[0] = '\0'; current_directory[0] = '\0';
directory_before_chdir = 0;
} }
else
directory_before_chdir = savestring (current_directory,
strlen (current_directory));
/* Read in variables from the environment. It is important that this be /* Read in variables from the environment. It is important that this be
done before `MAKE' and `MAKEOVERRIDES' are figured out so their done before `MAKE' and `MAKEOVERRIDES' are figured out so their
@ -939,9 +944,9 @@ main (argc, argv, envp)
if (directories != 0 && directories->idx > 0) if (directories != 0 && directories->idx > 0)
{ {
char bad; char bad;
if (current_directory[0] != '\0') if (directory_before_chdir != 0)
{ {
if (chdir (current_directory) < 0) if (chdir (directory_before_chdir) < 0)
{ {
perror_with_name ("chdir", ""); perror_with_name ("chdir", "");
bad = 1; bad = 1;