* 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>
|
2005-08-08 Christopher Faylor <cgf@timesys.com>
|
||||||
|
|
||||||
* include/sys/cdefs.h (__CONCAT): Define.
|
* include/sys/cdefs.h (__CONCAT): Define.
|
||||||
|
|
|
@ -293,9 +293,8 @@ fhandler_process::open (int flags, mode_t mode)
|
||||||
}
|
}
|
||||||
if (process_file_no == PROCESS_FD)
|
if (process_file_no == PROCESS_FD)
|
||||||
{
|
{
|
||||||
set_errno (EISDIR);
|
flags |= O_DIROPEN;
|
||||||
res = 0;
|
goto success;
|
||||||
goto out;
|
|
||||||
}
|
}
|
||||||
if (flags & O_WRONLY)
|
if (flags & O_WRONLY)
|
||||||
{
|
{
|
||||||
|
|
|
@ -484,12 +484,18 @@ fhandler_registry::open (int flags, mode_t mode)
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
handle = open_key (path, KEY_READ, true);
|
handle = open_key (path, KEY_READ, false);
|
||||||
if (handle == (HKEY) INVALID_HANDLE_VALUE)
|
if (handle == (HKEY) INVALID_HANDLE_VALUE)
|
||||||
{
|
{
|
||||||
res = 0;
|
handle = open_key (path, KEY_READ, true);
|
||||||
goto out;
|
if (handle == (HKEY) INVALID_HANDLE_VALUE)
|
||||||
|
{
|
||||||
|
res = 0;
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
flags |= O_DIROPEN;
|
||||||
|
|
||||||
set_io_handle (handle);
|
set_io_handle (handle);
|
||||||
|
|
||||||
|
@ -498,7 +504,7 @@ fhandler_registry::open (int flags, mode_t mode)
|
||||||
else
|
else
|
||||||
value_name = cstrdup (file);
|
value_name = cstrdup (file);
|
||||||
|
|
||||||
if (!fill_filebuf ())
|
if (!(flags & O_DIROPEN) && !fill_filebuf ())
|
||||||
{
|
{
|
||||||
RegCloseKey (handle);
|
RegCloseKey (handle);
|
||||||
res = 0;
|
res = 0;
|
||||||
|
|
Loading…
Reference in New Issue