Author: ekohl Date: Thu May 16 23:41:43 2013 New Revision: 59023
URL: http://svn.reactos.org/svn/reactos?rev=59023&view=rev Log: [FASTFAT] Implement a special case for existing files which are opened using the FILE_OVERWRITE or FILE_OVERWRITE_IF file disposition: New file attributes must be ORed with the existing file attributes.
Modified: trunk/reactos/drivers/filesystems/fastfat/create.c
Modified: trunk/reactos/drivers/filesystems/fastfat/create.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/filesystems/fastfat... ============================================================================== --- trunk/reactos/drivers/filesystems/fastfat/create.c [iso-8859-1] (original) +++ trunk/reactos/drivers/filesystems/fastfat/create.c [iso-8859-1] Thu May 16 23:41:43 2013 @@ -690,7 +690,11 @@ RequestedDisposition == FILE_SUPERSEDE) { ExAcquireResourceExclusiveLite(&(pFcb->MainResource), TRUE); - *pFcb->Attributes = Attributes | FILE_ATTRIBUTE_ARCHIVE; + if (RequestedDisposition == FILE_OVERWRITE || + RequestedDisposition == FILE_OVERWRITE_IF) + *pFcb->Attributes |= (Attributes | FILE_ATTRIBUTE_ARCHIVE); + else + *pFcb->Attributes = (Attributes | FILE_ATTRIBUTE_ARCHIVE);
Status = VfatSetAllocationSizeInformation (FileObject, pFcb,