1
0
mirror of git://git.sv.gnu.org/coreutils.git synced 2026-08-13 21:49:04 +02:00

*** empty log message ***

This commit is contained in:
Jim Meyering
2006-01-10 10:23:27 +00:00
parent 6757e33c92
commit e774de2be6
-33
View File
@@ -2,39 +2,6 @@
* version-etc.c (COPYRIGHT_YEAR): Update to 2006.
2006-01-05 Jim Meyering <jim@meyering.net>
Rewrite fts.c not to change the current working directory,
by using openat, fstatat, fdopendir, etc..
* fts.c [! _LIBC]: Include "openat.h", "unistd--.h", and "fcntl--.h".
[_LIBC] (fchdir): Don't undef or define; no longer used.
(FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
Now, this `function' always succeeds, and consumes its file descriptor
parameter -- so callers must not close such FDs. Update callers.
(diropen_fd, opendirat, cwd_advance_fd): New functions.
(diropen): Add parameter, SP. Adjust all callers.
Implement using diropen_fd, rather than open.
(fts_open): Initialize new member, fts_cwd_fd.
Remove fts_rft-setting code.
(fts_close): Close fts_cwd_fd, if necessary.
(__opendir2): Define in terms of opendir or opendirat,
depending on whether the FST_NOCHDIR flag is set.
(fts_build): Since fts_safe_changedir consumes its FD, and since
this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
and close the dup'd file descriptor upon failure.
(fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
(fts_safe_changedir): Tweak semantics to reflect that this function
now calls cwd_advance_fd and hence consumes its FD argument.
* fts_.h [struct FTS] (fts_cwd_fd): New member.
(fts_rft): Remove now-unused member.
* openat.c (fchownat): New function.
* openat.h (fchmodat, fchownat): Declare.
(chmodat, lchmodat): Define convenience functions.
(chownat, lchownat): Likewise.
* fchmodat.c: New file.
2006-01-04 Paul Eggert <eggert@cs.ucla.edu>
* strftime.c (tzname): Don't declare if it is already #defined.