Revert previous patch.
* autoload.cc (GetVolumePathNamesForVolumeNameA): Remove. * autoload.cc (GetVolumeNameForVolumeMountPointA): Add. * syscalls.cc (sync): Rewrite guid case to skip floppies also on Windows 2000.
This commit is contained in:
parent
48d304ef5a
commit
98e103aac9
|
@ -1,3 +1,11 @@
|
|||
2005-04-11 Corinna Vinschen <corinna@vinschen.de>
|
||||
|
||||
Revert previous patch.
|
||||
* autoload.cc (GetVolumePathNamesForVolumeNameA): Remove.
|
||||
* autoload.cc (GetVolumeNameForVolumeMountPointA): Add.
|
||||
* syscalls.cc (sync): Rewrite guid case to skip floppies also on
|
||||
Windows 2000.
|
||||
|
||||
2005-04-11 Corinna Vinschen <corinna@vinschen.de>
|
||||
|
||||
* syscalls.cc (sync): Use renamed has_get_volume_pathnames wincap.
|
||||
|
|
|
@ -517,7 +517,7 @@ LoadDLLfuncEx (GetConsoleWindow, 0, kernel32, 1)
|
|||
LoadDLLfuncEx (GetDiskFreeSpaceEx, 16, kernel32, 1)
|
||||
LoadDLLfuncEx (GetNativeSystemInfo, 4, kernel32, 1)
|
||||
LoadDLLfuncEx (GetSystemTimes, 12, kernel32, 1)
|
||||
LoadDLLfuncEx (GetVolumePathNamesForVolumeNameA, 16, kernel32, 1)
|
||||
LoadDLLfuncEx (GetVolumeNameForVolumeMountPointA, 12, kernel32, 1)
|
||||
LoadDLLfuncEx2 (IsDebuggerPresent, 0, kernel32, 1, 1)
|
||||
LoadDLLfunc (IsProcessorFeaturePresent, 4, kernel32);
|
||||
LoadDLLfuncEx (IsWow64Process, 8, kernel32, 1);
|
||||
|
|
|
@ -939,28 +939,28 @@ sync ()
|
|||
{
|
||||
char vol[CYG_MAX_PATH];
|
||||
|
||||
if (wincap.has_get_volume_pathnames ()) /* Win2k and newer */
|
||||
if (wincap.has_guid_volumes ()) /* Win2k and newer */
|
||||
{
|
||||
char a_drive[CYG_MAX_PATH] = {0};
|
||||
char b_drive[CYG_MAX_PATH] = {0};
|
||||
|
||||
if (is_floppy ("A:"))
|
||||
GetVolumeNameForVolumeMountPointA ("A:\\", a_drive, CYG_MAX_PATH);
|
||||
if (is_floppy ("B:"))
|
||||
GetVolumeNameForVolumeMountPointA ("B:\\", a_drive, CYG_MAX_PATH);
|
||||
|
||||
HANDLE sh = FindFirstVolumeA (vol, CYG_MAX_PATH);
|
||||
if (sh != INVALID_HANDLE_VALUE)
|
||||
{
|
||||
do
|
||||
{
|
||||
char pvol[CYG_MAX_PATH];
|
||||
DWORD len;
|
||||
if (GetVolumePathNamesForVolumeNameA (vol, pvol, CYG_MAX_PATH,
|
||||
&len))
|
||||
debug_printf ("Try volume %s (GUID: %s)", pvol, vol);
|
||||
else
|
||||
debug_printf ("Try volume %s", vol);
|
||||
debug_printf ("Try volume %s", vol);
|
||||
|
||||
/* Check pvol for being a floppy on A: or B:. Skip them. */
|
||||
if (strncasematch (pvol, "A:", 2)
|
||||
|| strncasematch (pvol, "B:", 2))
|
||||
/* Check vol for being a floppy on A: or B:. Skip them. */
|
||||
if (strcasematch (vol, a_drive) || strcasematch (vol, b_drive))
|
||||
{
|
||||
pvol[2] = '\0';
|
||||
if (is_floppy (pvol))
|
||||
continue;
|
||||
debug_printf ("Is floppy, don't sync");
|
||||
continue;
|
||||
}
|
||||
|
||||
/* Eliminate trailing backslash. */
|
||||
|
|
|
@ -57,7 +57,7 @@ static NO_COPY wincaps wincap_unknown = {
|
|||
has_ioctl_storage_get_media_types_ex:false,
|
||||
start_proc_suspended:true,
|
||||
has_extended_priority_class:false,
|
||||
has_get_volume_pathnames:false
|
||||
has_guid_volumes:false
|
||||
};
|
||||
|
||||
static NO_COPY wincaps wincap_95 = {
|
||||
|
@ -106,7 +106,7 @@ static NO_COPY wincaps wincap_95 = {
|
|||
has_ioctl_storage_get_media_types_ex:false,
|
||||
start_proc_suspended:true,
|
||||
has_extended_priority_class:false,
|
||||
has_get_volume_pathnames:false
|
||||
has_guid_volumes:false
|
||||
};
|
||||
|
||||
static NO_COPY wincaps wincap_95osr2 = {
|
||||
|
@ -155,7 +155,7 @@ static NO_COPY wincaps wincap_95osr2 = {
|
|||
has_ioctl_storage_get_media_types_ex:false,
|
||||
start_proc_suspended:true,
|
||||
has_extended_priority_class:false,
|
||||
has_get_volume_pathnames:false
|
||||
has_guid_volumes:false
|
||||
};
|
||||
|
||||
static NO_COPY wincaps wincap_98 = {
|
||||
|
@ -204,7 +204,7 @@ static NO_COPY wincaps wincap_98 = {
|
|||
has_ioctl_storage_get_media_types_ex:false,
|
||||
start_proc_suspended:true,
|
||||
has_extended_priority_class:false,
|
||||
has_get_volume_pathnames:false
|
||||
has_guid_volumes:false
|
||||
};
|
||||
|
||||
static NO_COPY wincaps wincap_98se = {
|
||||
|
@ -253,7 +253,7 @@ static NO_COPY wincaps wincap_98se = {
|
|||
has_ioctl_storage_get_media_types_ex:false,
|
||||
start_proc_suspended:true,
|
||||
has_extended_priority_class:false,
|
||||
has_get_volume_pathnames:false
|
||||
has_guid_volumes:false
|
||||
};
|
||||
|
||||
static NO_COPY wincaps wincap_me = {
|
||||
|
@ -302,7 +302,7 @@ static NO_COPY wincaps wincap_me = {
|
|||
has_ioctl_storage_get_media_types_ex:false,
|
||||
start_proc_suspended:true,
|
||||
has_extended_priority_class:false,
|
||||
has_get_volume_pathnames:false
|
||||
has_guid_volumes:false
|
||||
};
|
||||
|
||||
static NO_COPY wincaps wincap_nt3 = {
|
||||
|
@ -351,7 +351,7 @@ static NO_COPY wincaps wincap_nt3 = {
|
|||
has_ioctl_storage_get_media_types_ex:false,
|
||||
start_proc_suspended:false,
|
||||
has_extended_priority_class:false,
|
||||
has_get_volume_pathnames:false
|
||||
has_guid_volumes:false
|
||||
};
|
||||
|
||||
static NO_COPY wincaps wincap_nt4 = {
|
||||
|
@ -400,7 +400,7 @@ static NO_COPY wincaps wincap_nt4 = {
|
|||
has_ioctl_storage_get_media_types_ex:false,
|
||||
start_proc_suspended:false,
|
||||
has_extended_priority_class:false,
|
||||
has_get_volume_pathnames:false
|
||||
has_guid_volumes:false
|
||||
};
|
||||
|
||||
static NO_COPY wincaps wincap_nt4sp4 = {
|
||||
|
@ -449,7 +449,7 @@ static NO_COPY wincaps wincap_nt4sp4 = {
|
|||
has_ioctl_storage_get_media_types_ex:false,
|
||||
start_proc_suspended:false,
|
||||
has_extended_priority_class:false,
|
||||
has_get_volume_pathnames:false
|
||||
has_guid_volumes:false
|
||||
};
|
||||
|
||||
static NO_COPY wincaps wincap_2000 = {
|
||||
|
@ -498,7 +498,7 @@ static NO_COPY wincaps wincap_2000 = {
|
|||
has_ioctl_storage_get_media_types_ex:false,
|
||||
start_proc_suspended:false,
|
||||
has_extended_priority_class:true,
|
||||
has_get_volume_pathnames:false
|
||||
has_guid_volumes:true
|
||||
};
|
||||
|
||||
static NO_COPY wincaps wincap_xp = {
|
||||
|
@ -547,7 +547,7 @@ static NO_COPY wincaps wincap_xp = {
|
|||
has_ioctl_storage_get_media_types_ex:true,
|
||||
start_proc_suspended:false,
|
||||
has_extended_priority_class:true,
|
||||
has_get_volume_pathnames:true
|
||||
has_guid_volumes:true
|
||||
};
|
||||
|
||||
static NO_COPY wincaps wincap_2003 = {
|
||||
|
@ -596,7 +596,7 @@ static NO_COPY wincaps wincap_2003 = {
|
|||
has_ioctl_storage_get_media_types_ex:true,
|
||||
start_proc_suspended:false,
|
||||
has_extended_priority_class:true,
|
||||
has_get_volume_pathnames:true
|
||||
has_guid_volumes:true
|
||||
};
|
||||
|
||||
wincapc wincap;
|
||||
|
|
|
@ -58,7 +58,7 @@ struct wincaps
|
|||
unsigned has_ioctl_storage_get_media_types_ex : 1;
|
||||
unsigned start_proc_suspended : 1;
|
||||
unsigned has_extended_priority_class : 1;
|
||||
unsigned has_get_volume_pathnames : 1;
|
||||
unsigned has_guid_volumes : 1;
|
||||
};
|
||||
|
||||
class wincapc
|
||||
|
@ -121,7 +121,7 @@ public:
|
|||
bool IMPLEMENT (has_ioctl_storage_get_media_types_ex)
|
||||
bool IMPLEMENT (start_proc_suspended)
|
||||
bool IMPLEMENT (has_extended_priority_class)
|
||||
bool IMPLEMENT (has_get_volume_pathnames)
|
||||
bool IMPLEMENT (has_guid_volumes)
|
||||
|
||||
#undef IMPLEMENT
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue