* autoload.cc (SHFileOperationA): Drop definition.
* ntdll.h (struct _FILE_RENAME_INFORMATION): Define. * path.cc (fs_info::update): Note length of rootdir prefix in root_len. (get_nt_native_path): New function, taking over functionality of path_conv::get_nt_native_path. (path_conv::get_nt_native_path): Just call get_nt_native_path. * path.h (get_nt_native_path): Declare. (struct fs_info): New member root_len. (fs_info::length): New inline method returning root_len. (path_conv::rootdir): New inline method returning rootdir prefix. * syscalls.cc (try_to_bin): Rewrite using only system calls. (unlink_nt): Call try_to_bin with additional handle to open file parameter. (statvfs): Use path_conv::rootdir method. * wincap.h: Define has_recycle_dot_bin throughout. * wincap.cc: Ditto.
This commit is contained in:
@@ -389,7 +389,7 @@ fs_info::update (const char *win32_path)
|
||||
char root_dir [CYG_MAX_PATH];
|
||||
bool ret;
|
||||
|
||||
if (!rootdir (win32_path, root_dir))
|
||||
if (!::rootdir (win32_path, root_dir))
|
||||
{
|
||||
debug_printf ("Cannot get root component of path %s", win32_path);
|
||||
clear ();
|
||||
@@ -411,6 +411,7 @@ fs_info::update (const char *win32_path)
|
||||
++idx;
|
||||
}
|
||||
name_hash = tmp_name_hash;
|
||||
root_len = strlen (root_dir);
|
||||
|
||||
/* I have no idea why, but some machines require SeChangeNotifyPrivilege
|
||||
to access volume information. */
|
||||
@@ -549,7 +550,7 @@ path_conv::set_normalized_path (const char *path_copy, bool strip_tail)
|
||||
}
|
||||
|
||||
PUNICODE_STRING
|
||||
path_conv::get_nt_native_path (UNICODE_STRING &upath)
|
||||
get_nt_native_path (const char *path, UNICODE_STRING &upath)
|
||||
{
|
||||
if (path[0] != '\\') /* X:\... or NUL, etc. */
|
||||
{
|
||||
@@ -572,6 +573,12 @@ path_conv::get_nt_native_path (UNICODE_STRING &upath)
|
||||
return &upath;
|
||||
}
|
||||
|
||||
PUNICODE_STRING
|
||||
path_conv::get_nt_native_path (UNICODE_STRING &upath)
|
||||
{
|
||||
return ::get_nt_native_path (path, upath);
|
||||
}
|
||||
|
||||
void
|
||||
warn_msdos (const char *src)
|
||||
{
|
||||
|
Reference in New Issue
Block a user