/* FIXME : update entry in directory? */
pCcb = (PVFATCCB) (FileObject->FsContext2);
+ pFcb = (PVFATFCB) (FileObject->FsContext);
- DPRINT ("pCcb %x\n", pCcb);
- if (pCcb == NULL)
+ if (pFcb == NULL)
{
- return STATUS_SUCCESS;
+ return STATUS_SUCCESS;
}
- pFcb = pCcb->pFcb;
+
if (pFcb->Flags & FCB_IS_VOLUME)
{
DPRINT1("Volume\n");
delEntry (DeviceExt, FileObject);
}
else
- Status = STATUS_DELETE_PENDING;
+ {
+ Status = STATUS_DELETE_PENDING;
+ }
}
- FileObject->FsContext2 = NULL;
vfatReleaseFCB (DeviceExt, pFcb);
}
- else
- FileObject->FsContext2 = NULL;
+
+ FileObject->FsContext2 = NULL;
+ FileObject->FsContext = NULL;
+ FileObject->SectionObjectPointers = NULL;
- vfatDestroyCCB(pCcb);
+ if (pCcb)
+ {
+ vfatDestroyCCB(pCcb);
+ }
return Status;
}