From: Jim Meyering Date: Wed, 9 Mar 2005 23:22:08 +0000 (+0000) Subject: [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=931c1209da16cb5488643b8c84c5263563320334;p=pspp [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long so that this module works on systems without fchdir. --- 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