* autoload.cc (IsDosDeviceName_U): Define.

* ntdll.h (IsDosDeviceName_U): Declare.
* fhandler.cc (fhandler_base::open): Check to see if win32_name is a dos device
and just call the 9x open if so.
This commit is contained in:
Christopher Faylor 2004-06-03 22:27:25 +00:00
parent 3ec8da655c
commit 04612c69eb
2 changed files with 15 additions and 4 deletions

View File

@ -1,3 +1,10 @@
2004-06-03 Christopher Faylor <cgf@alum.bu.edu>
* autoload.cc (IsDosDeviceName_U): Define.
* ntdll.h (IsDosDeviceName_U): Declare.
* fhandler.cc (fhandler_base::open): Check to see if win32_name is a
dos device and just call the 9x open if so.
2004-06-03 Christopher Faylor <cgf@alum.bu.edu>
* winbase.h (ilockincr): More changes from the inexplicable world of

View File

@ -534,6 +534,13 @@ fhandler_base::open (int flags, mode_t mode)
if (!wincap.is_winnt ())
return fhandler_base::open_9x (flags, mode);
UNICODE_STRING upath;
WCHAR wpath[CYG_MAX_PATH + 10];
pc.get_nt_native_path (upath, wpath);
if (RtlIsDosDeviceName_U (wpath))
return fhandler_base::open_9x (flags, mode);
int res = 0;
HANDLE x;
ULONG file_attributes = 0;
@ -542,8 +549,6 @@ fhandler_base::open (int flags, mode_t mode)
ULONG create_options;
SECURITY_ATTRIBUTES sa = sec_none;
security_descriptor sd;
UNICODE_STRING upath;
WCHAR wpath[CYG_MAX_PATH + 10];
OBJECT_ATTRIBUTES attr;
IO_STATUS_BLOCK io;
NTSTATUS status;
@ -555,8 +560,7 @@ fhandler_base::open (int flags, mode_t mode)
goto done;
}
InitializeObjectAttributes (&attr, pc.get_nt_native_path (upath, wpath),
OBJ_CASE_INSENSITIVE | OBJ_INHERIT,
InitializeObjectAttributes (&attr, &upath, OBJ_CASE_INSENSITIVE | OBJ_INHERIT,
sa.lpSecurityDescriptor, NULL);
switch (query_open ())