* fhandler_process.cc (fhandler_process::open): Allow opening of
/proc/<pid>/fd for reading. * fhandler_registry.cc (fhandler_registry::open): Ditto for registry keys.
This commit is contained in:
parent
6e8cac2638
commit
af925fe4fa
|
@ -1,3 +1,10 @@
|
|||
2005-08-08 Corinna Vinschen <corinna@vinschen.de>
|
||||
|
||||
* fhandler_process.cc (fhandler_process::open): Allow opening of
|
||||
/proc/<pid>/fd for reading.
|
||||
* fhandler_registry.cc (fhandler_registry::open): Ditto for registry
|
||||
keys.
|
||||
|
||||
2005-08-08 Christopher Faylor <cgf@timesys.com>
|
||||
|
||||
* include/sys/cdefs.h (__CONCAT): Define.
|
||||
|
|
|
@ -293,9 +293,8 @@ fhandler_process::open (int flags, mode_t mode)
|
|||
}
|
||||
if (process_file_no == PROCESS_FD)
|
||||
{
|
||||
set_errno (EISDIR);
|
||||
res = 0;
|
||||
goto out;
|
||||
flags |= O_DIROPEN;
|
||||
goto success;
|
||||
}
|
||||
if (flags & O_WRONLY)
|
||||
{
|
||||
|
|
|
@ -484,12 +484,18 @@ fhandler_registry::open (int flags, mode_t mode)
|
|||
goto out;
|
||||
}
|
||||
|
||||
handle = open_key (path, KEY_READ, true);
|
||||
handle = open_key (path, KEY_READ, false);
|
||||
if (handle == (HKEY) INVALID_HANDLE_VALUE)
|
||||
{
|
||||
res = 0;
|
||||
goto out;
|
||||
handle = open_key (path, KEY_READ, true);
|
||||
if (handle == (HKEY) INVALID_HANDLE_VALUE)
|
||||
{
|
||||
res = 0;
|
||||
goto out;
|
||||
}
|
||||
}
|
||||
else
|
||||
flags |= O_DIROPEN;
|
||||
|
||||
set_io_handle (handle);
|
||||
|
||||
|
@ -498,7 +504,7 @@ fhandler_registry::open (int flags, mode_t mode)
|
|||
else
|
||||
value_name = cstrdup (file);
|
||||
|
||||
if (!fill_filebuf ())
|
||||
if (!(flags & O_DIROPEN) && !fill_filebuf ())
|
||||
{
|
||||
RegCloseKey (handle);
|
||||
res = 0;
|
||||
|
|
Loading…
Reference in New Issue