From: Corinna Vinschen <corinna-cygwin@cygwin.com>
To: cygwin-patches@cygwin.com
Cc: Johannes Schindelin <johannes.schindelin@gmx.de>
Subject: [PATCH 3/5] Cygwin: use new _AT_NULL_PATHNAME_ALLOWED flag
Date: Wed, 12 Jul 2023 14:08:02 +0200 [thread overview]
Message-ID: <20230712120804.2992142-4-corinna-cygwin@cygwin.com> (raw)
In-Reply-To: <20230712120804.2992142-1-corinna-cygwin@cygwin.com>
From: Corinna Vinschen <corinna@vinschen.de>
Convert gen_full_path_at to take flag values from the caller, rather
than just a bool indicating that empty paths are allowed. This is in
preparation of a better AT_EMPTY_PATH handling in a followup patch.
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
---
winsup/cygwin/syscalls.cc | 9 ++++-----
1 file changed, 4 insertions(+), 5 deletions(-)
diff --git a/winsup/cygwin/syscalls.cc b/winsup/cygwin/syscalls.cc
index f0ef8955cee8..cf8c4e0cfb9f 100644
--- a/winsup/cygwin/syscalls.cc
+++ b/winsup/cygwin/syscalls.cc
@@ -4414,11 +4414,10 @@ pclose (FILE *fp)
static int
gen_full_path_at (char *path_ret, int dirfd, const char *pathname,
- bool null_pathname_allowed = false)
+ int flags = 0)
{
- /* Set null_pathname_allowed to true to allow GLIBC compatible behaviour
- for NULL pathname. Only used by futimesat. */
- if (!pathname && !null_pathname_allowed)
+ /* futimesat allows a NULL pathname. */
+ if (!pathname && !(flags & _AT_NULL_PATHNAME_ALLOWED))
{
set_errno (EFAULT);
return -1;
@@ -4676,7 +4675,7 @@ futimesat (int dirfd, const char *pathname, const struct timeval times[2])
__try
{
char *path = tp.c_get ();
- if (gen_full_path_at (path, dirfd, pathname, true))
+ if (gen_full_path_at (path, dirfd, pathname, _AT_NULL_PATHNAME_ALLOWED))
__leave;
return utimes (path, times);
}
--
2.40.1
next prev parent reply other threads:[~2023-07-12 12:08 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-07-12 12:07 [PATCH 0/5] Fix AT_EMPTY_PATH handling Corinna Vinschen
2023-07-12 12:08 ` [PATCH 1/5] Cygwin: gen_full_path_at: drop never reached code Corinna Vinschen
2023-07-12 12:08 ` [PATCH 2/5] Define _AT_NULL_PATHNAME_ALLOWED Corinna Vinschen
2023-07-12 12:08 ` Corinna Vinschen [this message]
2023-07-12 12:08 ` [PATCH 4/5] Cygwin: Fix and streamline AT_EMPTY_PATH handling Corinna Vinschen
2023-07-12 12:08 ` [PATCH 5/5] Cygwin: add AT_EMPTY_PATH fix to release message Corinna Vinschen
2023-07-28 16:11 ` Pedro Alves
2023-07-28 19:28 ` Corinna Vinschen
2023-07-24 15:21 ` [PATCH 0/5] Fix AT_EMPTY_PATH handling Corinna Vinschen
2023-07-26 9:10 ` Johannes Schindelin
2023-07-26 13:12 ` Corinna Vinschen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230712120804.2992142-4-corinna-cygwin@cygwin.com \
--to=corinna-cygwin@cygwin.com \
--cc=cygwin-patches@cygwin.com \
--cc=johannes.schindelin@gmx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).