From 931c1209da16cb5488643b8c84c5263563320334 Mon Sep 17 00:00:00 2001 From: Jim Meyering Date: Wed, 9 Mar 2005 23:22:08 +0000 Subject: [PATCH] [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long so that this module works on systems without fchdir. --- lib/save-cwd.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/lib/save-cwd.c b/lib/save-cwd.c index 596b78c8d9..fe4bb970ce 100644 --- a/lib/save-cwd.c +++ b/lib/save-cwd.c @@ -44,6 +44,18 @@ #include "chdir-long.h" #include "xgetcwd.h" +/* On systems without the fchdir function (WOE), pretend that open + always returns -1 so that save_cwd resorts to using xgetcwd. + Since chdir_long requires fchdir, use chdir instead. */ +#if !HAVE_FCHDIR +# undef open +# define open(File, Flags) -1 +# undef fchdir +# define fchdir(Fd) (abort (), -1) +# undef chdir_long +# define chdir_long(Dir) chdir (Dir) +#endif + /* Record the location of the current working directory in CWD so that the program may change to other directories and later use restore_cwd to return to the recorded location. This function may allocate -- 2.30.2