From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 2155) id 7A913385AFAA; Wed, 26 Jul 2023 13:20:23 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 7A913385AFAA DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1690377623; bh=tq7SeurfG/4cRgybPjpzHDhDJOOI6zMFuQiHpxt1Hc8=; h=From:To:Subject:Date:From; b=XAaeza6hwwFtqEmbD28d3yVJ/NoXb2SLkVwamneBwG+skUPzKF5mEbdb337aTKPsb MRHDCJnvM108p0I8Gm9/bWzXT9e/rPoOAeKbw/o/eYcZQq1f/SzTMsUFHE94sLXBO5 DdSEgk1/vLAvRrzasFkOyLGkxKgeTBbaWefFNpH8= Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable From: Corinna Vinschen To: cygwin-cvs@sourceware.org Subject: [newlib-cygwin/cygwin-3_4-branch] Cygwin: use new _AT_NULL_PATHNAME_ALLOWED flag X-Act-Checkin: newlib-cygwin X-Git-Author: Corinna Vinschen X-Git-Refname: refs/heads/cygwin-3_4-branch X-Git-Oldrev: 38b8c322d4798cec04c56f79112b84a465a15d27 X-Git-Newrev: a2e5f53217861d09c9fd9c692c6e38222eb6a32d Message-Id: <20230726132023.7A913385AFAA@sourceware.org> Date: Wed, 26 Jul 2023 13:20:23 +0000 (GMT) List-Id: https://sourceware.org/git/gitweb.cgi?p=3Dnewlib-cygwin.git;h=3Da2e5f532178= 61d09c9fd9c692c6e38222eb6a32d commit a2e5f53217861d09c9fd9c692c6e38222eb6a32d Author: Corinna Vinschen AuthorDate: Wed Jul 12 13:45:24 2023 +0200 Commit: Corinna Vinschen CommitDate: Wed Jul 26 15:19:59 2023 +0200 Cygwin: use new _AT_NULL_PATHNAME_ALLOWED flag =20 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. =20 Reviewed-by: Johannes Schindelin Signed-off-by: Corinna Vinschen Diff: --- 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 a8b8206af0fc..33cf4f07212c 100644 --- a/winsup/cygwin/syscalls.cc +++ b/winsup/cygwin/syscalls.cc @@ -4414,11 +4414,10 @@ pclose (FILE *fp) =20 static int gen_full_path_at (char *path_ret, int dirfd, const char *pathname, - bool null_pathname_allowed =3D false) + int flags =3D 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 str= uct timeval times[2]) __try { char *path =3D tp.c_get (); - if (gen_full_path_at (path, dirfd, pathname, true)) + if (gen_full_path_at (path, dirfd, pathname, _AT_NULL_PATHNAME_ALLOW= ED)) __leave; return utimes (path, times); }