CVS: winex/files drive.c,1.48,1.49

[email protected] 31 Jul 2007 19:46:31 -0000
Newsgroups gmane.comp.emulators.winex.cvs
Message-ID <[email protected]>
Subject: winex/files drive.c,1.48,1.49Update of /var/lib/cvsd/cvsroot/winex/files
In directory agravaine:/tmp/cvs-serv332/files

Modified Files:
	drive.c 
Log Message:

- support new XP flag FILE_READ_ONLY_VOLUME in GetVolumeInformation


Index: drive.c
===================================================================
RCS file: /var/lib/cvsd/cvsroot/winex/files/drive.c,v
retrieving revision 1.48
retrieving revision 1.49
diff -u -d -r1.48 -r1.49
--- drive.c	31 Jul 2007 19:46:16 -0000	1.48
+++ drive.c	31 Jul 2007 19:46:29 -0000	1.49
@@ -2483,11 +2483,23 @@
     }
     if (flags)
       {
+         OSVERSIONINFOA ovi;
+
        *flags=0;
        if (DOSDrives[drive].flags & DRIVE_CASE_SENSITIVE)
-         *flags|=FS_CASE_SENSITIVE;
+         *flags|=FILE_CASE_SENSITIVE_SEARCH;
        if (DOSDrives[drive].flags & DRIVE_CASE_PRESERVING)
-         *flags|=FS_CASE_IS_PRESERVED;
+         *flags|=FILE_CASE_PRESERVED_NAMES;
+
+       ovi.dwOSVersionInfoSize = sizeof (OSVERSIONINFOA);
+       GetVersionExA (&ovi);
+       if ((ovi.dwPlatformId == VER_PLATFORM_WIN32_NT) &&
+           ((ovi.dwMajorVersion > 5) ||
+            ((ovi.dwMajorVersion == 5) && (ovi.dwMinorVersion >= 1))))
+       {
+          if (DOSDrives[drive].type == DRIVE_CDROM)
+             *flags |= FILE_READ_ONLY_VOLUME;
+       }
       }
     if (fsname) {
     	/* Diablo checks that return code ... */