2004-06-17 Pierre Humblet <pierre.humblet@ieee.org>
* fhandler.cc (fhandler_base::open_9x): Do not check for null name. Move debug_printf to common code line. (fhandler_base::open): Ditto. Initialize upath. Remove second argument of pc.get_nt_native_path. * path.h (path_conv::get_nt_native_path): Remove second argument. * path.cc (path_conv::get_nt_native_path): Ditto. Call str2uni_cat. * security.h (str2buf2uni_cat): Delete declaration. (str2uni_cat): New declaration. * security.cc (str2buf2uni): Get length from sys_mbstowcs call. (str2buf2uni_cat): Delete function. (str2uni_cat): New function. * miscfuncs.cc (sys_mbstowcs): Add debug_printf.
This commit is contained in:
@@ -459,25 +459,25 @@ path_conv::set_normalized_path (const char *path_copy)
|
||||
}
|
||||
|
||||
PUNICODE_STRING
|
||||
path_conv::get_nt_native_path (UNICODE_STRING &upath, WCHAR *wpath)
|
||||
path_conv::get_nt_native_path (UNICODE_STRING &upath)
|
||||
{
|
||||
if (path[0] != '\\') /* X:\... or NUL, etc. */
|
||||
{
|
||||
str2buf2uni (upath, wpath, "\\??\\");
|
||||
str2buf2uni_cat (upath, path);
|
||||
str2uni_cat (upath, "\\??\\");
|
||||
str2uni_cat (upath, path);
|
||||
}
|
||||
else if (path[1] != '\\') /* \Device\... */
|
||||
str2buf2uni (upath, wpath, path);
|
||||
str2uni_cat (upath, path);
|
||||
else if (path[2] != '.'
|
||||
|| path[3] != '\\') /* \\server\share\... */
|
||||
{
|
||||
str2buf2uni (upath, wpath, "\\??\\UNC\\");
|
||||
str2buf2uni_cat (upath, path + 2);
|
||||
str2uni_cat (upath, "\\??\\UNC\\");
|
||||
str2uni_cat (upath, path + 2);
|
||||
}
|
||||
else /* \\.\device */
|
||||
{
|
||||
str2buf2uni (upath, wpath, "\\??\\");
|
||||
str2buf2uni_cat (upath, path + 4);
|
||||
str2uni_cat (upath, "\\??\\");
|
||||
str2uni_cat (upath, path + 4);
|
||||
}
|
||||
return &upath;
|
||||
}
|
||||
|
Reference in New Issue
Block a user