/* fchdir replacement.
- Copyright (C) 2006-2009 Free Software Foundation, Inc.
+ Copyright (C) 2006-2010 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
and fcntl. Both arguments must be valid and distinct file
descriptors. Close NEWFD and return -1 if OLDFD is tracking a
directory, but there is insufficient memory to track the same
- directory in NEWFD; otherwise return NEWFD.
-
- FIXME: Need to implement rpl_fcntl in gnulib, and have it call
- this. */
+ directory in NEWFD; otherwise return NEWFD. */
int
_gl_register_dup (int oldfd, int newfd)
{
return NULL;
}
+#if REPLACE_OPEN_DIRECTORY
/* Return stat information about FD in STATBUF. Needed when
rpl_open() used a dummy file to work around an open() that can't
normally visit directories. */
-#undef fstat
+# undef fstat
int
rpl_fstat (int fd, struct stat *statbuf)
{
- if (REPLACE_OPEN_DIRECTORY
- && 0 <= fd && fd < dirs_allocated && dirs[fd].name != NULL)
+ if (0 <= fd && fd < dirs_allocated && dirs[fd].name != NULL)
return stat (dirs[fd].name, statbuf);
return fstat (fd, statbuf);
}
+#endif
/* Override opendir() and closedir(), to keep track of the open file
descriptors. Needed because there is a function dirfd(). */