From c25206e880ddbc4a55fc8a187c4f3605997129b4 Mon Sep 17 00:00:00 2001 From: Hartmut Birr Date: Tue, 25 Jan 2005 21:08:54 +0000 Subject: [PATCH] - Check for some special file streams in VfatUpdateEntry. W2K does open the volume for changing the date and time, but the volume hasn't a parent fcb. - Fixed the directory index of a file for FATX. svn path=/trunk/; revision=13278 --- reactos/drivers/fs/vfat/dirwr.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/reactos/drivers/fs/vfat/dirwr.c b/reactos/drivers/fs/vfat/dirwr.c index fa8923298dc..b907f3bec91 100644 --- a/reactos/drivers/fs/vfat/dirwr.c +++ b/reactos/drivers/fs/vfat/dirwr.c @@ -40,6 +40,13 @@ VfatUpdateEntry (PVFATFCB pFcb) DPRINT ("updEntry dirIndex %d, PathName \'%wZ\'\n", dirIndex, &pFcb->PathNameU); + if (vfatFCBIsRoot(pFcb) || (pFcb->Flags & (FCB_IS_FAT|FCB_IS_VOLUME))) + { + return STATUS_SUCCESS; + } + + ASSERT (pFcb->parrentFcb); + Offset.u.HighPart = 0; Offset.u.LowPart = dirIndex * SizeDirEntry; if (CcPinRead (pFcb->parentFcb->FileObject, &Offset, SizeDirEntry, @@ -544,6 +551,7 @@ FATXAddEntry (PDEVICE_EXTENSION DeviceExt, if (!vfatFCBIsRoot(ParentFcb)) { DirContext.DirIndex += 2; + DirContext.StartIndex += 2; } DirContext.ShortNameU.Buffer = 0;