Fixed the 'REACTOS' volume label bug.

svn path=/trunk/; revision=2109
This commit is contained in:
Hartmut Birr 2001-07-28 07:05:56 +00:00
parent 85a1907ad6
commit 28f723e21e
3 changed files with 12 additions and 4 deletions

View file

@ -1,4 +1,4 @@
/* $Id: direntry.c,v 1.2 2001/07/13 10:31:14 ekohl Exp $ /* $Id: direntry.c,v 1.3 2001/07/28 07:05:56 hbirr Exp $
* *
* *
* FILE: DirEntry.c * FILE: DirEntry.c
@ -64,6 +64,12 @@ vfatIsDirEntryLongName (FATDirEntry * pFatDirEntry)
return pFatDirEntry->Attrib == 0x0f; return pFatDirEntry->Attrib == 0x0f;
} }
BOOL
vfatIsDirEntryVolume (FATDirEntry * pFatDirEntry)
{
return pFatDirEntry->Attrib == 0x28;
}
void void
vfatGetDirEntryName (PFAT_DIR_ENTRY dirEntry, PWSTR entryName) vfatGetDirEntryName (PFAT_DIR_ENTRY dirEntry, PWSTR entryName)
{ {

View file

@ -1,4 +1,4 @@
/* $Id: fcb.c,v 1.7 2001/07/25 17:39:34 hbirr Exp $ /* $Id: fcb.c,v 1.8 2001/07/28 07:05:56 hbirr Exp $
* *
* *
* FILE: fcb.c * FILE: fcb.c
@ -466,7 +466,8 @@ vfatDirFindFile (PDEVICE_EXTENSION pDeviceExt,
directoryIndex, directoryIndex,
currentLongName); currentLongName);
if (!vfatIsDirEntryDeleted (&currentDirEntry)) if (!vfatIsDirEntryDeleted (&currentDirEntry)
&& !vfatIsDirEntryVolume(&currentDirEntry))
{ {
if (currentLongName [0] != L'\0' && wstrcmpjoki (currentLongName, pFileToFind)) if (currentLongName [0] != L'\0' && wstrcmpjoki (currentLongName, pFileToFind))
{ {

View file

@ -1,4 +1,4 @@
/* $Id: vfat.h,v 1.33 2001/07/20 08:00:21 ekohl Exp $ */ /* $Id: vfat.h,v 1.34 2001/07/28 07:05:56 hbirr Exp $ */
#include <ddk/ntifs.h> #include <ddk/ntifs.h>
@ -334,6 +334,7 @@ VfatOpenFile(PDEVICE_EXTENSION DeviceExt,
ULONG vfatDirEntryGetFirstCluster (PDEVICE_EXTENSION pDeviceExt, ULONG vfatDirEntryGetFirstCluster (PDEVICE_EXTENSION pDeviceExt,
PFAT_DIR_ENTRY pDirEntry); PFAT_DIR_ENTRY pDirEntry);
BOOL vfatIsDirEntryDeleted (FATDirEntry * pFatDirEntry); BOOL vfatIsDirEntryDeleted (FATDirEntry * pFatDirEntry);
BOOL vfatIsDirEntryVolume (FATDirEntry * pFatDirEntry);
void vfatGetDirEntryName (PFAT_DIR_ENTRY pDirEntry, PWSTR pEntryName); void vfatGetDirEntryName (PFAT_DIR_ENTRY pDirEntry, PWSTR pEntryName);
NTSTATUS vfatGetNextDirEntry (PDEVICE_EXTENSION pDeviceExt, NTSTATUS vfatGetNextDirEntry (PDEVICE_EXTENSION pDeviceExt,
PVFATFCB pDirectoryFCB, PVFATFCB pDirectoryFCB,