+2020-03-07 Paul Eggert <eggert@cs.ucla.edu>
+
+ open, openat: port to (O_RDWR | O_RDONLY) != 0
+ Potential portability problem reported by Dan Gohman in:
+ https://lists.gnu.org/r/bug-gnulib/2020-03/msg00000.html
+ * lib/open.c (open):
+ * lib/openat.c (rpl_openat):
+ Don’t assume O_RDONLY is disjoint from O_RDWR.
+
2020-03-07 Bruno Haible <bruno@clisp.org>
findprog, relocatable-prog: Ignore directories during PATH search.
directories,
- if O_WRONLY or O_RDWR is specified, open() must fail because the
file does not contain a '.' directory. */
- if (flags & (O_CREAT | O_WRONLY | O_RDWR))
+ if ((flags & O_CREAT)
+ || (flags & O_ACCMODE) == O_RDWR
+ || (flags & O_ACCMODE) == O_WRONLY)
{
size_t len = strlen (filename);
if (len > 0 && filename[len - 1] == '/')
directories,
- if O_WRONLY or O_RDWR is specified, open() must fail because the
file does not contain a '.' directory. */
- if (flags & (O_CREAT | O_WRONLY | (O_RDWR & ~O_RDONLY)))
+ if ((flags & O_CREAT)
+ || (flags & O_ACCMODE) == O_RDWR
+ || (flags & O_ACCMODE) == O_WRONLY)
{
size_t len = strlen (filename);
if (len > 0 && filename[len - 1] == '/')