From 39120df9b9e2ad9674c0d6265757a7a68e10051f Mon Sep 17 00:00:00 2001 From: Patsy Franklin Date: Wed, 6 Mar 2013 12:54:10 -0500 Subject: T_REMOVEDIR and AT_EACCESS have the same value. Add comments to fcntl.h explaining why AT_REMOVEDIR and AT_EACCESS can have the same value. --- ChangeLog | 4 ++++ io/fcntl.h | 6 ++++++ 2 files changed, 10 insertions(+) diff --git a/ChangeLog b/ChangeLog index a175d61af4..c82ed84ea9 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2013-03-06 Patsy Franklin + + * io/fcntl.h: Added a comment about AT_EACCESS and AT_REMOVEDIR. + 2013-03-06 Andreas Jaeger * sysdeps/unix/sysv/linux/bits/mman-linux.h (MAP_ANONYMOUS): Allow diff --git a/io/fcntl.h b/io/fcntl.h index 61834cef1b..14ccae0d26 100644 --- a/io/fcntl.h +++ b/io/fcntl.h @@ -129,6 +129,12 @@ typedef __pid_t pid_t; # define SEEK_END 2 /* Seek from end of file. */ #endif /* XPG */ +/* The constants AT_REMOVEDIR and AT_EACCESS have the same value. AT_EASSESS + is meaningful only to faccessat, while AT_REMOVEDIR is meaningful only to + unlinkat. The two functions do completely different things and therefore, + the flags can be allowed to overlap. For example, passing AT_REMOVEDIR to + faccessat would be undefined behavior and thus treating it equivalent to + AT_EACCESS is valid undefined behavior. */ #ifdef __USE_ATFILE # define AT_FDCWD -100 /* Special value used to indicate the *at functions should use the -- cgit 1.4.1