diff --git a/documentation/configuring.sgml b/documentation/configuring.sgml
index 3713a4da05..4c0d06265d 100644
--- a/documentation/configuring.sgml
+++ b/documentation/configuring.sgml
@@ -327,16 +327,6 @@
yes
General settings for Wine
-
- [DllDefaults]
- recmd
- Defaults for loading DLL's
-
-
- [DllPairs]
- recmd
- Sanity checkers for DLL's
-
[DllOverrides]
recmd
@@ -503,34 +493,6 @@
-
- The [DllDefaults] Section
-
- These settings provide wine's default handling of DLL loading.
-
-
- "DefaultLoadOrder" =" native, builtin"
- This setting is a comma-delimited list of the order in
- which to attempt loading DLLs. If the first option fails,
- it will try the second, and so on. The order specified
- above is probably the best in most conditions.
-
-
-
-
- The [DllPairs] Section
-
- At one time, there was a section called [DllPairs] in the
- default configuration file, but this has been obsoleted
- because the pairing information has now been embedded into
- Wine itself. (The purpose of this section was merely to be
- able to issue warnings if the user attempted to pair
- codependent 16-bit/32-bit DLLs of different types.) If you
- still have this in your ~/.wine/.config or
- wine.conf, you may safely delete it.
-
-
-
The [DllOverrides] Section
@@ -982,20 +944,13 @@
[Drive C]
"Path" = "%HOME%/wine"
"Type" = "hd"
-"Label" = "MS-DOS"
-"Filesystem" = "win95"
With this configuration, what windows apps think of as
"c:\windows\system" would map to
/home/user/wine/windows/system in the UNIX
- filesystem. Note that you need to specify
- "Filesystem" = "win95",
- not
- "Filesystem" = "unix", to make Wine simulate a
- Windows compatible (case insensitive) filesystem, otherwise
- most apps won't work.
+ filesystem.
@@ -1082,79 +1037,6 @@ C:\ Root directory of primary disk drive
exported over the network via NFS and thus can have slow response
times.
-
- "Label" = "blah"
- Defines the drive label. Generally only needed
- for programs that look for a special CD-ROM.
- The label may be up to 11 characters.
- Note that the preferred way of managing labels and serial numbers
- of CD-ROMs and floppies is to give Wine raw device access for
- reading these on a per-CD case (see "Device" below) instead of
- hardcoding one specific "Label".
-
-
- "Serial" = "deadbeef"
- Tells Wine the serial number of the drive. A few programs with
- intense protection for pirating might need this, but otherwise
- it's not needed. Up to 8 characters and hexadecimal.
- Using a "Device" entry instead of hardcoding the "Serial" probably
- is a smarter choice.
-
-
- "Filesystem" = "win95|unix|msdos"
- Sets up the way Wine looks at files on the drive.
- This setting controls the file name lookup and mapping of
- Wine to existing file systems on your PC, it does
- not tell anything about the filesystem
- used itself.
-
-
-
-
- win95
-
-
- Case insensitive. Alike to Windows 9x/NT 4. This is
- the long filename filesystem you are probably used
- to working with. The filesystem behavior of choice for most
- programs to be run under wine. Probably the one
- you want!
-
-
-
-
- unix
-
-
- Case sensitive. This filesystem has almost no use
- (Windows apps expect case insensitive filenames),
- except maybe for Winelib applications.
- Try it if you dare, but win95 is a much better
- and always recommended choice.
-
-
-
-
- msdos
-
-
- Case insensitive filesystem. Alike to DOS and
- Windows 3.x. 8.3 is the maximum
- length of files (eightdot.123) - longer ones will be
- truncated.
-
-
- This is a very bad choice if
- you plan on running apps that use long filenames.
- win95 should work fine with apps that were designed
- to run under the msdos system. In other words, you
- might not want to use this.
-
-
-
-
-
-
"Device" = "/dev/xx"
@@ -1184,22 +1066,15 @@ Here is a setup for Drive C, a generic hard drive:
[Drive C]
"Path" = "/dosc"
"Type" = "hd"
-"Label" = "Hard Drive"
-"Filesystem" = "win95"
This is a setup for Drive E, a generic CD-ROM drive:
[Drive E]
"Path" = "/mnt/cdrom"
"Type" = "cdrom"
-"Label" = "Total Annihilation"
-"Filesystem" = "win95"
"Device" = "/dev/cdrom"
And here is a setup for Drive A, a generic floppy drive:
[Drive A]
"Type" = "floppy"
"Path" = "/mnt/floppy"
-"Label" = "Floppy Drive"
-"Serial" = "87654321"
-"Filesystem" = "win95"
"Device" = "/dev/fd0"
@@ -1391,8 +1266,6 @@ And here is a setup for Drive A, a generic floppy drive:
The directory to be used for emulating a C: drive will be
the base directory for some Windows specific directories
created below.
- Remember to use
- "Filesystem" = "win95"!
@@ -1794,55 +1667,30 @@ And here is a setup for Drive A, a generic floppy drive:
If you don't want to read labels and serial numbers directly from
- the device, then you should give fixed
- "Label" = or "Serial" =
- entries in ~/.wine/config, as Wine returns
- these entries instead if no device is given. If they don't
- exist, then Wine will return default values (label
- Drive X and serial
- 12345678).
-
-
- If you want to give a "Device" = entry
- only for drive raw sector accesses,
- but not for reading the volume info from the device (i.e. you want
- a fixed, preconfigured label), you need
- to specify "ReadVolInfo" = "0" to tell Wine
- to skip the volume reading.
+ the device, you can create files at the root of the drive
+ named .windows-label and
+ .windows-serial respectively. These are
+ simple ASCII files that you can create with any text editor;
+ the label can be set to any string you like, the serial
+ number should be expressed as an hexadecimal number.
Examples
- Here's a simple example of CD-ROM and floppy; labels will be
- read from the device on both CD-ROM and floppy; serial
- numbers on floppy only:
+ Here's a simple example of CD-ROM and floppy:
[Drive A]
"Path" = "/mnt/floppy"
"Type" = "floppy"
"Device" = "/dev/fd0"
-"Filesystem" = "msdos"
[Drive R]
"Path" = "/mnt/cdrom"
"Type" = "cdrom"
"Device" = "/dev/hda1"
-"Filesystem" = "win95"
-
-
- Here's an example of overriding the CD-ROM label:
-
-
-[Drive J]
-"Path" = "/mnt/cdrom"
-"Type" = "cdrom"
-"Label" = "X234GCDSE"
-; note that the device isn't really needed here as we have a fixed label
-"Device" = "/dev/cdrom"
-"Filesystem" = "msdos"
@@ -1853,19 +1701,10 @@ And here is a setup for Drive A, a generic floppy drive:
The CD-ROM label can be read only if the data track of
the disk resides in the first track and the cdrom is
iso9660.
-
-
- Better checking for FAT superblock (it now checks only
- one byte).
-
Support for labels/serial nums WRITING.
- Can the label be longer than 11 chars? (iso9660 has 32
- chars).
-
-
What about reading ext2 volume label? ....
diff --git a/documentation/samples/config b/documentation/samples/config
index 39de768d16..ad980711ec 100644
--- a/documentation/samples/config
+++ b/documentation/samples/config
@@ -11,47 +11,34 @@ WINE REGISTRY Version 2
;; [Drive X]
;; "Path"="xxx" (Unix path for drive root)
;; "Type"="xxx" (supported types are 'floppy', 'hd', 'cdrom' and 'network')
-;; "Filesystem"="xxx" (supported types are 'msdos'/'dos'/'fat', 'win95'/'vfat', 'unix')
-;; This is the FS Wine is supposed to emulate on a certain
-;; directory structure.
-;; Recommended:
-;; - "win95" for ext2fs, VFAT and FAT32
-;; - "msdos" for FAT16 (ugly, upgrading to VFAT driver strongly recommended)
-;; DON'T use "unix" unless you intend to port programs using Winelib !
;; "Device"="/dev/xx" (only if you want to allow raw device access)
;;
[Drive A]
"Path" = "/mnt/fd0"
"Type" = "floppy"
-"Filesystem" = "win95"
"Device" = "/dev/fd0"
[Drive C]
"Path" = "/c"
"Type" = "hd"
-"Filesystem" = "win95"
[Drive D]
"Path" = "/cdrom"
"Type" = "cdrom"
-"Filesystem" = "win95"
; make sure that device is correct and has proper permissions !
"Device" = "/dev/cdrom"
[Drive E]
"Path" = "/tmp"
"Type" = "hd"
-"Filesystem" = "win95"
[Drive F]
"Path" = "%HOME%"
"Type" = "network"
-"Filesystem" = "win95"
[Drive Z]
"Path" = "/"
"Type" = "hd"
-"Filesystem" = "win95"
[wine]
"Windows" = "c:\\windows"
diff --git a/documentation/wine.conf.man b/documentation/wine.conf.man
index 7590783f36..60a961a2ff 100644
--- a/documentation/wine.conf.man
+++ b/documentation/wine.conf.man
@@ -60,25 +60,6 @@ Used to specify the drive type this drive appears as in Windows
or DOS programs; supported types are "floppy", "hd", "cdrom"
and "network".
.PP
-.I format: """Filesystem""="""""
-.br
-default: "win95"
-.br
-Used to specify the type of the file system Wine should emulate on a given
-directory structure/underlying file system.
-.br
-Supported types are "msdos" (or "fat"), "win95" (or "vfat"), "unix".
-.br
-Recommended:
-.br
- "win95" for ext2fs, ReiserFS, ..., VFAT and FAT32
-.br
- "msdos" for FAT16 file systems (ugly, 8.3 naming)
-.br
-You definitely do not want to use "unix" unless you intend to port
-programs using Winelib. Always try to avoid using a FAT16 FS. Use the
-VFAT/FAT32 OS file system driver instead.
-.PP
.I format: """FailReadOnly""="""""
.br
Read-only files may not be opened in write mode (the default is to
diff --git a/files/directory.c b/files/directory.c
index f626cca221..a8a12e33aa 100644
--- a/files/directory.c
+++ b/files/directory.c
@@ -689,8 +689,7 @@ static BOOL DIR_TryPath( const DOS_FULL_NAME *dir, LPCWSTR name,
return FALSE;
}
if (!DOSFS_FindUnixName( dir, name, p_l,
- sizeof(full_name->long_name) - (p_l - full_name->long_name),
- p_s, !(DRIVE_GetFlags(dir->drive) & DRIVE_CASE_SENSITIVE) ))
+ sizeof(full_name->long_name) - (p_l - full_name->long_name), p_s ))
return FALSE;
full_name->drive = dir->drive;
diff --git a/files/dos_fs.c b/files/dos_fs.c
index 7c4ebbdd66..4b45fedbf8 100644
--- a/files/dos_fs.c
+++ b/files/dos_fs.c
@@ -133,6 +133,9 @@ static const WCHAR parW[] = {'P','a','r','a','l','l','e','l',0};
static const WCHAR serW[] = {'S','e','r','i','a','l',0};
static const WCHAR oneW[] = {'1',0};
+/* at some point we may want to allow Winelib apps to set this */
+static const BOOL is_case_sensitive = FALSE;
+
/*
* Directory info for DOSFS_ReadDir
* contains the names of *all* the files in the directory
@@ -175,11 +178,11 @@ static WINE_EXCEPTION_FILTER(page_fault)
* (i.e. contains only valid DOS chars, lower-case only, fits in 8.3 format).
* File name can be terminated by '\0', '\\' or '/'.
*/
-static int DOSFS_ValidDOSName( LPCWSTR name, int ignore_case )
+static int DOSFS_ValidDOSName( LPCWSTR name )
{
static const char invalid_chars[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" INVALID_DOS_CHARS;
const WCHAR *p = name;
- const char *invalid = ignore_case ? (invalid_chars + 26) : invalid_chars;
+ const char *invalid = !is_case_sensitive ? (invalid_chars + 26) : invalid_chars;
int len = 0;
if (*p == '.')
@@ -352,13 +355,13 @@ static void DOSFS_ToDosDTAFormat( LPCWSTR name, LPWSTR buffer )
* *test1.txt* test1.txt *
* h?l?o*t.dat hellothisisatest.dat *
*/
-static int DOSFS_MatchLong( LPCWSTR mask, LPCWSTR name, int case_sensitive )
+static int DOSFS_MatchLong( LPCWSTR mask, LPCWSTR name )
{
LPCWSTR lastjoker = NULL;
LPCWSTR next_to_retry = NULL;
static const WCHAR asterisk_dot_asterisk[] = {'*','.','*',0};
- TRACE("(%s, %s, %x)\n", debugstr_w(mask), debugstr_w(name), case_sensitive);
+ TRACE("(%s, %s)\n", debugstr_w(mask), debugstr_w(name));
if (!strcmpW( mask, asterisk_dot_asterisk )) return 1;
while (*name && *mask)
@@ -371,7 +374,7 @@ static int DOSFS_MatchLong( LPCWSTR mask, LPCWSTR name, int case_sensitive )
if (!*mask) return 1; /* end of mask is all '*', so match */
/* skip to the next match after the joker(s) */
- if (case_sensitive) while (*name && (*name != *mask)) name++;
+ if (is_case_sensitive) while (*name && (*name != *mask)) name++;
else while (*name && (toupperW(*name) != toupperW(*mask))) name++;
if (!*name) break;
@@ -380,7 +383,7 @@ static int DOSFS_MatchLong( LPCWSTR mask, LPCWSTR name, int case_sensitive )
else if (*mask != '?')
{
int mismatch = 0;
- if (case_sensitive)
+ if (is_case_sensitive)
{
if (*mask != *name) mismatch = 1;
}
@@ -637,8 +640,7 @@ static BOOL DOSFS_ReadDir( DOS_DIR *dir, LPCWSTR *long_name,
* File name can be terminated by '\0', '\\' or '/'.
* 'buffer' must be at least 13 characters long.
*/
-static void DOSFS_Hash( LPCWSTR name, LPWSTR buffer, BOOL dir_format,
- BOOL ignore_case )
+static void DOSFS_Hash( LPCWSTR name, LPWSTR buffer, BOOL dir_format )
{
static const char invalid_chars[] = INVALID_DOS_CHARS "~.";
static const char hash_chars[32] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ012345";
@@ -654,7 +656,7 @@ static void DOSFS_Hash( LPCWSTR name, LPWSTR buffer, BOOL dir_format,
buffer[11] = 0;
}
- if (DOSFS_ValidDOSName( name, ignore_case ))
+ if (DOSFS_ValidDOSName( name ))
{
/* Check for '.' and '..' */
if (*name == '.')
@@ -683,7 +685,7 @@ static void DOSFS_Hash( LPCWSTR name, LPWSTR buffer, BOOL dir_format,
/* Compute the hash code of the file name */
/* If you know something about hash functions, feel free to */
/* insert a better algorithm here... */
- if (ignore_case)
+ if (!is_case_sensitive)
{
for (p = name, hash = 0xbeef; !IS_END_OF_NAME(p[1]); p++)
hash = (hash<<3) ^ (hash>>5) ^ tolowerW(*p) ^ (tolowerW(p[1]) << 8);
@@ -740,7 +742,7 @@ static void DOSFS_Hash( LPCWSTR name, LPWSTR buffer, BOOL dir_format,
* 'short_buf' must be at least 13 characters long.
*/
BOOL DOSFS_FindUnixName( const DOS_FULL_NAME *path, LPCWSTR name, char *long_buf,
- INT long_len, LPWSTR short_buf, BOOL ignore_case)
+ INT long_len, LPWSTR short_buf )
{
DOS_DIR *dir;
LPCWSTR long_name, short_name;
@@ -770,7 +772,7 @@ BOOL DOSFS_FindUnixName( const DOS_FULL_NAME *path, LPCWSTR name, char *long_buf
/* Check against Unix name */
if (len == strlenW(long_name))
{
- if (!ignore_case)
+ if (is_case_sensitive)
{
if (!strncmpW( long_name, name, len )) break;
}
@@ -784,7 +786,7 @@ BOOL DOSFS_FindUnixName( const DOS_FULL_NAME *path, LPCWSTR name, char *long_buf
/* Check against hashed DOS name */
if (!short_name)
{
- DOSFS_Hash( long_name, tmp_buf, TRUE, ignore_case );
+ DOSFS_Hash( long_name, tmp_buf, TRUE );
short_name = tmp_buf;
}
if (!strcmpW( dos_name, short_name )) break;
@@ -798,7 +800,7 @@ BOOL DOSFS_FindUnixName( const DOS_FULL_NAME *path, LPCWSTR name, char *long_buf
if (short_name)
DOSFS_ToDosDTAFormat( short_name, short_buf );
else
- DOSFS_Hash( long_name, short_buf, FALSE, ignore_case );
+ DOSFS_Hash( long_name, short_buf, FALSE );
}
TRACE("(%s,%s) -> %s (%s)\n", path->long_name, debugstr_w(name),
debugstr_w(long_name), short_buf ? debugstr_w(short_buf) : "***");
@@ -984,7 +986,6 @@ static int DOSFS_GetPathDrive( LPCWSTR *name )
BOOL DOSFS_GetFullName( LPCWSTR name, BOOL check_last, DOS_FULL_NAME *full )
{
BOOL found;
- UINT flags;
char *p_l, *root;
LPWSTR p_s;
static const WCHAR driveA_rootW[] = {'A',':','\\',0};
@@ -999,7 +1000,6 @@ BOOL DOSFS_GetFullName( LPCWSTR name, BOOL check_last, DOS_FULL_NAME *full )
}
if ((full->drive = DOSFS_GetPathDrive( &name )) == -1) return FALSE;
- flags = DRIVE_GetFlags( full->drive );
lstrcpynA( full->long_name, DRIVE_GetRoot( full->drive ),
sizeof(full->long_name) );
@@ -1063,8 +1063,7 @@ BOOL DOSFS_GetFullName( LPCWSTR name, BOOL check_last, DOS_FULL_NAME *full )
/* Get the long and short name matching the file name */
if ((found = DOSFS_FindUnixName( full, name, p_l + 1,
- sizeof(full->long_name) - (p_l - full->long_name) - 1,
- p_s + 1, !(flags & DRIVE_CASE_SENSITIVE) )))
+ sizeof(full->long_name) - (p_l - full->long_name) - 1, p_s + 1 )))
{
*p_l++ = '/';
p_l += strlen(p_l);
@@ -1085,7 +1084,7 @@ BOOL DOSFS_GetFullName( LPCWSTR name, BOOL check_last, DOS_FULL_NAME *full )
/* If the drive is case-sensitive we want to create new */
/* files in lower-case otherwise we can't reopen them */
/* under the same short name. */
- if (flags & DRIVE_CASE_SENSITIVE) wch = tolowerW(*name);
+ if (is_case_sensitive) wch = tolowerW(*name);
else wch = *name;
p_l += WideCharToMultiByte(CP_UNIXCP, 0, &wch, 1, p_l, 2, NULL, NULL);
name++;
@@ -1186,7 +1185,6 @@ static BOOL get_show_dir_symlinks_option(void)
*/
static int DOSFS_FindNextEx( FIND_FIRST_INFO *info, WIN32_FIND_DATAW *entry )
{
- UINT flags = DRIVE_GetFlags( info->drive );
char *p, buffer[MAX_PATHNAME_LEN];
const char *drive_path;
int drive_root;
@@ -1215,8 +1213,7 @@ static int DOSFS_FindNextEx( FIND_FIRST_INFO *info, WIN32_FIND_DATAW *entry )
if (info->long_mask && *info->long_mask)
{
- if (!DOSFS_MatchLong( info->long_mask, long_name,
- flags & DRIVE_CASE_SENSITIVE )) continue;
+ if (!DOSFS_MatchLong( info->long_mask, long_name )) continue;
}
/* Check the file attributes */
@@ -1247,11 +1244,9 @@ static int DOSFS_FindNextEx( FIND_FIRST_INFO *info, WIN32_FIND_DATAW *entry )
if (short_name)
DOSFS_ToDosDTAFormat( short_name, entry->cAlternateFileName );
else
- DOSFS_Hash( long_name, entry->cAlternateFileName, FALSE,
- !(flags & DRIVE_CASE_SENSITIVE) );
+ DOSFS_Hash( long_name, entry->cAlternateFileName, FALSE );
lstrcpynW( entry->cFileName, long_name, sizeof(entry->cFileName)/sizeof(entry->cFileName[0]) );
- if (!(flags & DRIVE_CASE_PRESERVING)) strlwrW( entry->cFileName );
TRACE("returning %s (%s) %02lx %ld\n",
debugstr_w(entry->cFileName), debugstr_w(entry->cAlternateFileName),
entry->dwFileAttributes, entry->nFileSizeLow );
diff --git a/files/drive.c b/files/drive.c
index 8a875453dd..93e2a7c997 100644
--- a/files/drive.c
+++ b/files/drive.c
@@ -89,27 +89,6 @@ static const WCHAR DRIVE_Types[][8] =
{'r','a','m','d','i','s','k',0} /* DRIVE_RAMDISK */
};
-
-/* Known filesystem types */
-
-typedef struct
-{
- const WCHAR name[6];
- UINT flags;
-} FS_DESCR;
-
-static const FS_DESCR DRIVE_Filesystems[] =
-{
- { {'u','n','i','x',0}, DRIVE_CASE_SENSITIVE | DRIVE_CASE_PRESERVING },
- { {'m','s','d','o','s',0}, DRIVE_SHORT_NAMES },
- { {'d','o','s',0}, DRIVE_SHORT_NAMES },
- { {'f','a','t',0}, DRIVE_SHORT_NAMES },
- { {'v','f','a','t',0}, DRIVE_CASE_PRESERVING },
- { {'w','i','n','9','5',0}, DRIVE_CASE_PRESERVING },
- { { 0 }, 0 }
-};
-
-
static DOSDRIVE DOSDrives[MAX_DOS_DRIVES];
static int DRIVE_CurDrive = -1;
@@ -145,21 +124,6 @@ static inline UINT DRIVE_GetDriveType( INT drive, LPCWSTR value )
}
-/***********************************************************************
- * DRIVE_GetFSFlags
- */
-static UINT DRIVE_GetFSFlags( INT drive, LPCWSTR value )
-{
- const FS_DESCR *descr;
-
- for (descr = DRIVE_Filesystems; *descr->name; descr++)
- if (!strcmpiW( value, descr->name )) return descr->flags;
- MESSAGE("Drive %c: unknown filesystem type %s, defaulting to 'win95'.\n",
- 'A' + drive, debugstr_w(value) );
- return DRIVE_CASE_PRESERVING;
-}
-
-
/***********************************************************************
* DRIVE_Init
*/
@@ -182,7 +146,6 @@ int DRIVE_Init(void)
static const WCHAR PathW[] = {'P','a','t','h',0};
static const WCHAR TypeW[] = {'T','y','p','e',0};
- static const WCHAR FilesystemW[] = {'F','i','l','e','s','y','s','t','e','m',0};
static const WCHAR DeviceW[] = {'D','e','v','i','c','e',0};
static const WCHAR FailReadOnlyW[] = {'F','a','i','l','R','e','a','d','O','n','l','y',0};
@@ -260,15 +223,6 @@ int DRIVE_Init(void)
}
else drive->type = DRIVE_FIXED;
- /* Get the filesystem type */
- RtlInitUnicodeString( &nameW, FilesystemW );
- if (!NtQueryValueKey( hkey, &nameW, KeyValuePartialInformation, tmp, sizeof(tmp), &dummy ))
- {
- WCHAR *data = (WCHAR *)((KEY_VALUE_PARTIAL_INFORMATION *)tmp)->Data;
- drive->flags = DRIVE_GetFSFlags( i, data );
- }
- else drive->flags = DRIVE_CASE_PRESERVING;
-
/* Get the device */
RtlInitUnicodeString( &nameW, DeviceW );
if (!NtQueryValueKey( hkey, &nameW, KeyValuePartialInformation, tmp, sizeof(tmp), &dummy ))
@@ -329,7 +283,7 @@ int DRIVE_Init(void)
{
for (i = 0, drive = DOSDrives; i < MAX_DOS_DRIVES; i++, drive++)
{
- if (drive->root && !(drive->flags & DRIVE_DISABLED))
+ if (drive->root)
{
DRIVE_CurDrive = i;
break;
@@ -355,8 +309,7 @@ int DRIVE_Init(void)
int DRIVE_IsValid( int drive )
{
if ((drive < 0) || (drive >= MAX_DOS_DRIVES)) return 0;
- return (DOSDrives[drive].root &&
- !(DOSDrives[drive].flags & DRIVE_DISABLED));
+ return (DOSDrives[drive].root != NULL);
}
@@ -425,9 +378,7 @@ int DRIVE_FindDriveRoot( const char **path )
{
for (drive = 0; drive < MAX_DOS_DRIVES; drive++)
{
- if (!DOSDrives[drive].root ||
- (DOSDrives[drive].flags & DRIVE_DISABLED))
- continue;
+ if (!DOSDrives[drive].root) continue;
if ((DOSDrives[drive].dev == st.st_dev) &&
(DOSDrives[drive].ino == st.st_ino))
@@ -489,9 +440,7 @@ int DRIVE_FindDriveRootW( LPCWSTR *path )
/* Find the drive */
for (drive = 0; drive < MAX_DOS_DRIVES; drive++)
{
- if (!DOSDrives[drive].root ||
- (DOSDrives[drive].flags & DRIVE_DISABLED))
- continue;
+ if (!DOSDrives[drive].root) continue;
if ((DOSDrives[drive].dev == st.st_dev) &&
(DOSDrives[drive].ino == st.st_ino))
diff --git a/include/drive.h b/include/drive.h
index b3d1cc164c..8538a36d7c 100644
--- a/include/drive.h
+++ b/include/drive.h
@@ -27,11 +27,7 @@
/* Drive flags */
-#define DRIVE_DISABLED 0x0001 /* Drive is disabled */
-#define DRIVE_SHORT_NAMES 0x0002 /* Drive fs has 8.3 file names */
-#define DRIVE_CASE_SENSITIVE 0x0004 /* Drive fs is case sensitive */
-#define DRIVE_CASE_PRESERVING 0x0008 /* Drive fs is case preserving */
-#define DRIVE_FAIL_READ_ONLY 0x0010 /* Fail opening read-only files for writing */
+#define DRIVE_FAIL_READ_ONLY 0x0001 /* Fail opening read-only files for writing */
extern int DRIVE_Init(void);
extern int DRIVE_IsValid( int drive );
diff --git a/include/file.h b/include/file.h
index d1059aaf2a..3600b41d2e 100644
--- a/include/file.h
+++ b/include/file.h
@@ -81,7 +81,7 @@ extern DWORD DIR_SearchPath( LPCWSTR path, LPCWSTR name, LPCWSTR ext,
extern BOOL DOSFS_ToDosFCBFormat( LPCWSTR name, LPWSTR buffer );
extern HANDLE DOSFS_OpenDevice( LPCWSTR name, DWORD access, DWORD attributes, LPSECURITY_ATTRIBUTES sa);
extern BOOL DOSFS_FindUnixName( const DOS_FULL_NAME *path, LPCWSTR name, char *long_buf,
- INT long_len, LPWSTR short_buf, BOOL ignore_case );
+ INT long_len, LPWSTR short_buf );
extern BOOL DOSFS_GetFullName( LPCWSTR name, BOOL check_last,
DOS_FULL_NAME *full );