public inbox for cygwin-patches@cygwin.com
 help / color / mirror / Atom feed
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


  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).