&(FCB->entry.UpdateDate),
&(FCB->entry.UpdateTime));
- FCB->entry.Attrib = (FCB->entry.Attrib &
+ FCB->entry.Attrib = (unsigned char)((FCB->entry.Attrib &
(FILE_ATTRIBUTE_DIRECTORY | 0x48)) |
(BasicInfo->FileAttributes &
(FILE_ATTRIBUTE_ARCHIVE |
FILE_ATTRIBUTE_SYSTEM |
FILE_ATTRIBUTE_HIDDEN |
- FILE_ATTRIBUTE_READONLY));
+ FILE_ATTRIBUTE_READONLY)));
DPRINT("Setting attributes 0x%02x\n", FCB->entry.Attrib);
VfatUpdateEntry(DeviceExt, FileObject);
}
if (DispositionInfo->DoDeleteFile)
{
- if (MmFlushImageSection (FileObject->SectionObjectPointers, MmFlushForDelete))
+ if (MmFlushImageSection (FileObject->SectionObjectPointer, MmFlushForDelete))
{
KeAcquireSpinLock (&DeviceExt->FcbListLock, &oldIrql);
count = FCB->RefCount;
if (FCB->RefCount > 1)
{
- DPRINT1("%d %x\n", FCB->RefCount, CcGetFileObjectFromSectionPtrs(FileObject->SectionObjectPointers));
+ DPRINT1("%d %x\n", FCB->RefCount, CcGetFileObjectFromSectionPtrs(FileObject->SectionObjectPointer));
Status = STATUS_ACCESS_DENIED;
}
else
}
else
{
- Fcb->RFCB.AllocationSize.QuadPart = 0LL;
+ Fcb->RFCB.AllocationSize.QuadPart = (LONGLONG)0;
}
if (!vfatFCBIsDirectory(Fcb))
{
Fcb->RFCB.FileSize.QuadPart = Size;
Fcb->RFCB.ValidDataLength.QuadPart = Size;
- if (FileObject->SectionObjectPointers->SharedCacheMap != NULL)
+ if (FileObject->SectionObjectPointer->SharedCacheMap != NULL)
{
CcSetFileSizes(FileObject, (PCC_FILE_SIZES)&Fcb->RFCB.AllocationSize);
}
{
ULONG OldSize;
ULONG Cluster, FirstCluster;
- ULONG Offset;
NTSTATUS Status;
ULONG ClusterSize = DeviceExt->FatInfo.BytesPerCluster;
{
if (FirstCluster == 0)
{
- Status = NextCluster (DeviceExt, Fcb, FirstCluster, &FirstCluster, TRUE);
+ Status = NextCluster (DeviceExt, FirstCluster, &FirstCluster, TRUE);
if (!NT_SUCCESS(Status))
{
DPRINT1("NextCluster failed. Status = %x\n", Status);
{
return STATUS_DISK_FULL;
}
- Status = OffsetToCluster(DeviceExt, Fcb, FirstCluster,
+ Status = OffsetToCluster(DeviceExt, FirstCluster,
ROUND_DOWN(NewSize - 1, ClusterSize),
&NCluster, TRUE);
if (NCluster == 0xffffffff || !NT_SUCCESS(Status))
Status = STATUS_SUCCESS;
while (NT_SUCCESS(Status) && Cluster != 0xffffffff && Cluster > 1)
{
- Status = NextCluster (DeviceExt, Fcb, FirstCluster, &NCluster, FALSE);
+ Status = NextCluster (DeviceExt, FirstCluster, &NCluster, FALSE);
WriteCluster (DeviceExt, Cluster, 0);
Cluster = NCluster;
}
return STATUS_DISK_FULL;
}
- Fcb->entry.FirstCluster = (FirstCluster & 0x0000FFFF);
- Fcb->entry.FirstClusterHigh = (FirstCluster & 0xFFFF0000) >> 16;
+ Fcb->entry.FirstCluster = (unsigned short)(FirstCluster & 0x0000FFFF);
+ Fcb->entry.FirstClusterHigh = (unsigned short)((FirstCluster & 0xFFFF0000) >> 16);
}
else
{
- Status = OffsetToCluster(DeviceExt, Fcb, FirstCluster,
+ Status = OffsetToCluster(DeviceExt, FirstCluster,
Fcb->RFCB.AllocationSize.u.LowPart - ClusterSize,
&Cluster, FALSE);
/* FIXME: Check status */
/* Cluster points now to the last cluster within the chain */
- Status = OffsetToCluster(DeviceExt, Fcb, FirstCluster,
+ Status = OffsetToCluster(DeviceExt, FirstCluster,
ROUND_DOWN(NewSize - 1, ClusterSize),
&NCluster, TRUE);
if (NCluster == 0xffffffff || !NT_SUCCESS(Status))
{
/* disk is full */
NCluster = Cluster;
- Status = NextCluster (DeviceExt, Fcb, FirstCluster, &NCluster, FALSE);
+ Status = NextCluster (DeviceExt, FirstCluster, &NCluster, FALSE);
WriteCluster(DeviceExt, Cluster, 0xffffffff);
Cluster = NCluster;
while (NT_SUCCESS(Status) && Cluster != 0xffffffff && Cluster > 1)
{
- Status = NextCluster (DeviceExt, Fcb, FirstCluster, &NCluster, FALSE);
+ Status = NextCluster (DeviceExt, FirstCluster, &NCluster, FALSE);
WriteCluster (DeviceExt, Cluster, 0);
Cluster = NCluster;
}
UpdateFileSize(FileObject, Fcb, NewSize, ClusterSize);
if (NewSize > 0)
{
- Status = OffsetToCluster(DeviceExt, Fcb, Cluster,
+ Status = OffsetToCluster(DeviceExt, FirstCluster,
ROUND_DOWN(NewSize - 1, ClusterSize),
&Cluster, FALSE);
NCluster = Cluster;
- Status = NextCluster (DeviceExt, Fcb, FirstCluster, &NCluster, FALSE);
+ Status = NextCluster (DeviceExt, FirstCluster, &NCluster, FALSE);
WriteCluster(DeviceExt, Cluster, 0xffffffff);
Cluster = NCluster;
}
}
while (NT_SUCCESS(Status) && 0xffffffff != Cluster && Cluster > 1)
{
- Status = NextCluster (DeviceExt, Fcb, FirstCluster, &NCluster, FALSE);
+ Status = NextCluster (DeviceExt, FirstCluster, &NCluster, FALSE);
WriteCluster (DeviceExt, Cluster, 0);
Cluster = NCluster;
}
if (!(FCB->Flags & FCB_IS_PAGE_FILE))
{
- if (!ExAcquireResourceSharedLite(&FCB->MainResource, IrpContext->Flags & IRPCONTEXT_CANWAIT))
+ if (!ExAcquireResourceSharedLite(&FCB->MainResource,
+ (BOOLEAN)(IrpContext->Flags & IRPCONTEXT_CANWAIT)))
{
return VfatQueueRequest (IrpContext);
}
DPRINT("FileInformationClass %d\n", FileInformationClass);
DPRINT("SystemBuffer %x\n", SystemBuffer);
- if (FCB->Flags & FCB_IS_PAGE_FILE)
- {
- if (!ExAcquireResourceExclusiveLite(&FCB->PagingIoResource, CanWait))
- {
- return(VfatQueueRequest (IrpContext));
- }
- }
- else
+ if (!(FCB->Flags & FCB_IS_PAGE_FILE))
{
- if (!ExAcquireResourceExclusiveLite(&FCB->MainResource, CanWait))
+ if (!ExAcquireResourceExclusiveLite(&FCB->MainResource,
+ (BOOLEAN)CanWait))
{
return(VfatQueueRequest (IrpContext));
}
RC = STATUS_NOT_SUPPORTED;
}
- if (FCB->Flags & FCB_IS_PAGE_FILE)
- {
- ExReleaseResourceLite(&FCB->PagingIoResource);
- }
- else
+ if (!(FCB->Flags & FCB_IS_PAGE_FILE))
{
ExReleaseResourceLite(&FCB->MainResource);
}