]> git.ipfire.org Git - thirdparty/coreutils.git/commitdiff
Now that fts no longer changes the current working directory, adjust
authorJim Meyering <jim@meyering.net>
Tue, 17 Jan 2006 17:25:42 +0000 (17:25 +0000)
committerJim Meyering <jim@meyering.net>
Tue, 17 Jan 2006 17:25:42 +0000 (17:25 +0000)
its clients accordingly -- note that du.c uses fts but doesn't need
any adjustment, since it doesn't operate on the actual files,
but rather just uses the stat buffers provided by fts.

Include "openat.h".
(process_file): Use chmodat (fts->fts_cwd_fd,... in place of chmod (...

src/chmod.c

index ac3d8c7b8efc104ed199fb0771c554c312026743..098118c1864b525fca483386173938a4a661e74d 100644 (file)
@@ -28,6 +28,7 @@
 #include "error.h"
 #include "filemode.h"
 #include "modechange.h"
+#include "openat.h"
 #include "quote.h"
 #include "quotearg.h"
 #include "root-dev-ino.h"
@@ -225,7 +226,7 @@ process_file (FTS *fts, FTSENT *ent)
 
       if (! S_ISLNK (old_mode))
        {
-         if (chmod (file, new_mode) == 0)
+         if (chmodat (fts->fts_cwd_fd, file, new_mode) == 0)
            chmod_succeeded = true;
          else
            {