Fix O_DIRECTORY lookup on trivial translators

* hurd/lookup-retry.c (__hurd_file_name_lookup_retry): Do not remove
leading slash when `file_name' is "/".
This commit is contained in:
Flavio Cruz 2016-01-13 00:48:30 +01:00 committed by Samuel Thibault
parent fb53a27c57
commit e42ce0f45e
2 changed files with 14 additions and 2 deletions

View File

@ -1,3 +1,8 @@
2016-01-13 Flavio Cruz <flaviocruz@gmail.com>
* hurd/lookup-retry.c (__hurd_file_name_lookup_retry): Do not remove
leading slash when `file_name' is "/".
2016-01-12 Joseph Myers <joseph@codesourcery.com>
* bits/mman-linux.h [!MCL_CURRENT] (MCL_ONFAULT): New macro.

View File

@ -62,8 +62,15 @@ __hurd_file_name_lookup_retry (error_t (*use_init_port)
error_t lookup_op (file_t startdir)
{
while (file_name[0] == '/')
file_name++;
if (file_name[0] == '/' && file_name[1] != '\0')
{
while (file_name[1] == '/')
/* Remove double leading slash. */
file_name++;
if (file_name[1] != '\0')
/* Remove leading slash when we have more than the slash. */
file_name++;
}
return lookup_error ((*lookup) (startdir, file_name, flags, mode,
&doretry, retryname, result));