aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog10
-rw-r--r--sysdeps/mach/hurd/getcwd.c12
2 files changed, 9 insertions, 13 deletions
diff --git a/ChangeLog b/ChangeLog
index c3cae2a11e..d2ec5d5ac0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,12 @@
-2019-08-30 Richard Braun <rbraun@sceen.net>
+2019-08-30 Samuel Thibault <samuel.thibault@ens-lyon.org>
+
+
+ * sysdeps/mach/hurd/getcwd.c
+ (_hurd_canonicalize_directory_name_internal): Do not remove the heading
+ slash if we got an unknown root directory. (__getcwd): Do not fail with
+ EGRATUITOUS if we got an unknown root directory.
+
+2019-08-30 Richard Braun <rbraun@sceen.net>
* hurd/hurdselect.c (_hurd_select): Always call __io_select with no
timeout.
diff --git a/sysdeps/mach/hurd/getcwd.c b/sysdeps/mach/hurd/getcwd.c
index 93b7b1de58..7481ae9857 100644
--- a/sysdeps/mach/hurd/getcwd.c
+++ b/sysdeps/mach/hurd/getcwd.c
@@ -266,11 +266,6 @@ __hurd_canonicalize_directory_name_internal (file_t thisdir,
So the root is our current directory. */
*--file_namep = '/';
- if (thisid != rootid)
- /* We did not get to our root directory. The returned name should
- not begin with a slash. */
- ++file_namep;
-
memmove (file_name, file_namep, file_name + size - file_namep);
cleanup ();
return file_name;
@@ -309,13 +304,6 @@ __getcwd (char *buf, size_t size)
__USEPORT (CWDIR,
__hurd_canonicalize_directory_name_internal (port,
buf, size));
- if (cwd && cwd[0] != '/')
- {
- /* `cwd' is an unknown root directory. */
- if (buf == NULL)
- free (cwd);
- return __hurd_fail (EGRATUITOUS), NULL;
- }
return cwd;
}
weak_alias (__getcwd, getcwd)