[prev in list] [next in list] [prev in thread] [next in thread] 

List:       glibc-cvs
Subject:    GNU C Library master sources branch master updated. glibc-2.28.9000-581-gee4d790
From:       sthibaul () sourceware ! org
Date:       2019-01-22 22:41:47
Message-ID: 20190122224147.16163.qmail () sourceware ! org
[Download RAW message or body]

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, master has been updated
       via  ee4d79026da2c21c75cccd5795cb4357643f4f5c (commit)
      from  a95dc01c9e55bef6b48a762e26f15d93100ab9e5 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=ee4d79026da2c21c75cccd5795cb4357643f4f5c

commit ee4d79026da2c21c75cccd5795cb4357643f4f5c
Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date:   Tue Jan 22 23:38:36 2019 +0100

    hurd: Support AT_EMPTY_PATH
    
    	* hurd/lookup-at.c (__file_name_lookup_at): When at_flags contains
    	AT_EMPTY_PATH, call __dir_lookup and __hurd_file_name_lookup_retry
    	directly instead of __hurd_file_name_lookup.

diff --git a/ChangeLog b/ChangeLog
index 8bffe50..fed239c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -2,6 +2,9 @@
 
 	* sysdeps/mach/hurd/faccessat.c (__faccessat_common): Check for errors
 	returned by __hurd_at_flags.
+	* hurd/lookup-at.c (__file_name_lookup_at): When at_flags contains
+	AT_EMPTY_PATH, call __dir_lookup and __hurd_file_name_lookup_retry
+	directly instead of __hurd_file_name_lookup.
 
 2019-01-21  Joseph Myers  <joseph@codesourcery.com>
 
diff --git a/hurd/lookup-at.c b/hurd/lookup-at.c
index 813ebee..3e6980f 100644
--- a/hurd/lookup-at.c
+++ b/hurd/lookup-at.c
@@ -28,6 +28,9 @@ __file_name_lookup_at (int fd, int at_flags,
 {
   error_t err;
   file_t result;
+  int empty = at_flags & AT_EMPTY_PATH;
+
+  at_flags &= ~AT_EMPTY_PATH;
 
   err = __hurd_at_flags (&at_flags, &flags);
   if (err)
@@ -36,6 +39,23 @@ __file_name_lookup_at (int fd, int at_flags,
   if (fd == AT_FDCWD || file_name[0] == '/')
     return __file_name_lookup (file_name, flags, mode);
 
+  if (empty != 0 && file_name[0] == '\0')
+    {
+      enum retry_type doretry;
+      char retryname[1024];	/* XXX string_t LOSES! */
+
+      err = HURD_DPORT_USE (fd, __dir_lookup (port, "", flags, mode,
+					      &doretry, retryname,
+					      &result));
+
+      if (! err)
+	err = __hurd_file_name_lookup_retry (&_hurd_ports_use, &__getdport,
+					     NULL, doretry, retryname,
+					     flags, mode, &result);
+
+      return err ? (__hurd_dfail (fd, err), MACH_PORT_NULL) : result;
+    }
+
   file_t startdir;
   error_t use_init_port (int which, error_t (*operate) (mach_port_t))
     {

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog        |    3 +++
 hurd/lookup-at.c |   20 ++++++++++++++++++++
 2 files changed, 23 insertions(+), 0 deletions(-)


hooks/post-receive
-- 
GNU C Library master sources
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic