From: Samuel Thibault Date: Thu, 20 Jul 2023 21:38:24 +0000 (+0200) Subject: hurd: Fix tst-openloc X-Git-Tag: glibc-2.38~33 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f7f181c12c140ff1fe45376b98fe32eb491e363f;p=thirdparty%2Fglibc.git hurd: Fix tst-openloc On GNU/Hurd, O_RDWR actually is O_WRONLY|O_RDONLY, so checking through bitness really is wrong. O_ACCMODE is there for this. Fixes: 5324d258427f ("fileops: Don't process ,ccs= as individual mode flags (BZ#18906)") --- diff --git a/libio/tst-fopenloc.c b/libio/tst-fopenloc.c index 5b3c1849efa..51a485c1941 100644 --- a/libio/tst-fopenloc.c +++ b/libio/tst-fopenloc.c @@ -76,7 +76,8 @@ do_bz18906 (void) if (fp != NULL) { flags = fcntl (fileno (fp), F_GETFL); - retval = (flags & O_RDWR) | (flags & O_WRONLY); + retval = ((flags & O_ACCMODE) == O_RDWR); + retval |= ((flags & O_ACCMODE) == O_WRONLY); TEST_COMPARE (retval, false); fclose (fp); }