summaryrefslogtreecommitdiff
path: root/ChangeLog
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2022-06-12 13:46:52 -0700
committerPaul Eggert <eggert@cs.ucla.edu>2022-06-12 13:47:12 -0700
commitd682f8de7f9d384f4cfc482a3ba2960329a8db21 (patch)
tree65d04a8b5e462b2b4939b3addf0982de988a1bac /ChangeLog
parent2cd86e5891af0cdb7d88d076e9613e5c8475e1ee (diff)
downloadgnulib-d682f8de7f9d384f4cfc482a3ba2960329a8db21.tar.gz
fchmodat: port better to MS-Windows etc.
MS-Windows problem reported by Bruno Haible in: https://lists.gnu.org/r/bug-gnulib/2022-06/msg00041.html Although I don’t use MS-Windows I see some related fstatat etc. problems and am trying to fix them with this further patch. * lib/fchmodat.c (fchmodat): * lib/lchmod.c (lchmod): * lib/lchown.c (lchown) [!HAVE_LCHOWN && HAVE_CHOWN && !CHOWN_MODIFIES_SYMLINK]: * lib/renameatu.c (renameatu) [HAVE_RENAME && RENAME_TRAILING_SLASH_SOURCE_BUG]: Use readlinkat/readlink instead of fstatat/lstat to test merely whether a string names a symlink, as this avoids problems with EOVERFLOW. Also, I hope it works around the MS-Windows issues that Bruno noted. * m4/fchmodat.m4 (gl_PREREQ_FCHMODAT): Check for readlinkat, not lchmod. * m4/lchmod.m4 (gl_FUNC_LCHMOD): Do not require AC_CANONICAL_HOST or check for lstat. (gl_PREREQ_LCHMOD): Check for readlink. * modules/lchown (Depends-on): Add readlink. Do not depend on lstat merely because !HAVE_LCHOWN. * modules/renameatu (Depends-on): Add fstatat, readlinkat.
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog26
1 files changed, 26 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 2d0340b933..2daa6d8c81 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,29 @@
+2022-06-12 Paul Eggert <eggert@cs.ucla.edu>
+
+ fchmodat: port better to MS-Windows etc.
+ MS-Windows problem reported by Bruno Haible in:
+ https://lists.gnu.org/r/bug-gnulib/2022-06/msg00041.html
+ Although I don’t use MS-Windows I see some related fstatat etc.
+ problems and am trying to fix them with this further patch.
+ * lib/fchmodat.c (fchmodat):
+ * lib/lchmod.c (lchmod):
+ * lib/lchown.c (lchown)
+ [!HAVE_LCHOWN && HAVE_CHOWN && !CHOWN_MODIFIES_SYMLINK]:
+ * lib/renameatu.c (renameatu)
+ [HAVE_RENAME && RENAME_TRAILING_SLASH_SOURCE_BUG]:
+ Use readlinkat/readlink instead of fstatat/lstat to test merely
+ whether a string names a symlink, as this avoids problems
+ with EOVERFLOW. Also, I hope it works around the MS-Windows
+ issues that Bruno noted.
+ * m4/fchmodat.m4 (gl_PREREQ_FCHMODAT):
+ Check for readlinkat, not lchmod.
+ * m4/lchmod.m4 (gl_FUNC_LCHMOD): Do not require AC_CANONICAL_HOST
+ or check for lstat.
+ (gl_PREREQ_LCHMOD): Check for readlink.
+ * modules/lchown (Depends-on): Add readlink. Do not depend on
+ lstat merely because !HAVE_LCHOWN.
+ * modules/renameatu (Depends-on): Add fstatat, readlinkat.
+
2022-06-12 Bruno Haible <bruno@clisp.org>
doc: Update O_PATH platforms list.