[SV 40043] Set the current directory before printing errors.

This commit is contained in:
Paul Smith 2013-09-18 19:29:28 -04:00
parent 8a6205b43f
commit 30a5ee0d85
2 changed files with 10 additions and 5 deletions

View File

@ -1,3 +1,8 @@
2013-09-18 Paul Smith <psmith@gnu.org>
* main.c (main): Set starting_directory before we write any
errors. Fixes Savannah bug #40043.
2013-09-16 Eli Zaretskii <eliz@gnu.org>
* output.c [WINDOWS32]: Include windows.h and sub_proc.h, to avoid

10
main.c
View File

@ -1477,6 +1477,9 @@ main (int argc, char **argv, char **envp)
#endif /* WINDOWS32 */
#endif
/* We may move, but until we do, here we are. */
starting_directory = current_directory;
#ifdef MAKE_JOBSERVER
/* If the jobserver-fds option is seen, make sure that -j is reasonable.
This can't be usefully set in the makefile, and we want to verify the
@ -1667,11 +1670,8 @@ main (int argc, char **argv, char **envp)
construct_include_path (include_directories == 0
? 0 : include_directories->list);
/* Figure out where we are now, after chdir'ing. */
if (directories == 0)
/* We didn't move, so we're still in the same place. */
starting_directory = current_directory;
else
/* If we chdir'ed, figure out where we are now. */
if (directories)
{
#ifdef WINDOWS32
if (getcwd_fs (current_directory, GET_PATH_MAX) == 0)