Author: hbelusca Date: Sun Dec 27 19:38:13 2015 New Revision: 70446
URL: http://svn.reactos.org/svn/reactos?rev=70446&view=rev Log: [VFATLIB] - Formatting + RtlZero/FillMemory modifications as addendum to r70445. - Do not hardcode FSInfo signature values, use instead the same set of macros fastfat_new introduces.
Modified: trunk/reactos/lib/fslib/vfatlib/fat32.c trunk/reactos/lib/fslib/vfatlib/vfatlib.h
Modified: trunk/reactos/lib/fslib/vfatlib/fat32.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/lib/fslib/vfatlib/fat32.c?r... ============================================================================== --- trunk/reactos/lib/fslib/vfatlib/fat32.c [iso-8859-1] (original) +++ trunk/reactos/lib/fslib/vfatlib/fat32.c [iso-8859-1] Sun Dec 27 19:38:13 2015 @@ -35,12 +35,13 @@ return STATUS_INSUFFICIENT_RESOURCES;
/* Zero the new bootsector */ - memset(NewBootSector, 0, BootSector->BytesPerSector); + RtlZeroMemory(NewBootSector, BootSector->BytesPerSector);
/* Copy FAT32 BPB to new bootsector */ memcpy(&NewBootSector->OEMName[0], &BootSector->OEMName[0], - FIELD_OFFSET(FAT32_BOOT_SECTOR, Res2) - FIELD_OFFSET(FAT32_BOOT_SECTOR, OEMName)); /* FAT32 BPB length (up to (not including) Res2) */ + FIELD_OFFSET(FAT32_BOOT_SECTOR, Res2) - FIELD_OFFSET(FAT32_BOOT_SECTOR, OEMName)); + /* FAT32 BPB length (up to (not including) Res2) */
/* Write the boot sector signature */ NewBootSector->Signature1 = 0xAA550000; @@ -59,8 +60,7 @@ if (!NT_SUCCESS(Status)) { DPRINT("NtWriteFile() failed (Status %lx)\n", Status); - RtlFreeHeap(RtlGetProcessHeap(), 0, NewBootSector); - return Status; + goto done; }
UpdateProgress(Context, 1); @@ -81,16 +81,15 @@ if (!NT_SUCCESS(Status)) { DPRINT("NtWriteFile() failed (Status %lx)\n", Status); - RtlFreeHeap(RtlGetProcessHeap(), 0, NewBootSector); - return Status; + goto done; }
UpdateProgress(Context, 1); }
- /* Free the new boot sector */ +done: + /* Free the buffer */ RtlFreeHeap(RtlGetProcessHeap(), 0, NewBootSector); - return Status; }
@@ -113,13 +112,13 @@ return STATUS_INSUFFICIENT_RESOURCES;
/* Zero the new sector */ - memset(FsInfo, 0, BootSector->BytesPerSector); - - FsInfo->LeadSig = 0x41615252; - FsInfo->StrucSig = 0x61417272; + RtlZeroMemory(FsInfo, BootSector->BytesPerSector); + + FsInfo->LeadSig = FSINFO_SECTOR_BEGIN_SIGNATURE; + FsInfo->StrucSig = FSINFO_SIGNATURE; FsInfo->FreeCount = 0xffffffff; - FsInfo->NextFree = 0xffffffff; - FsInfo->TrailSig = 0xaa550000; + FsInfo->NextFree = 0xffffffff; + FsInfo->TrailSig = FSINFO_SECTOR_END_SIGNATURE;
/* Write sector */ FileOffset.QuadPart = BootSector->FSInfoSector * BootSector->BytesPerSector; @@ -135,15 +134,14 @@ if (!NT_SUCCESS(Status)) { DPRINT("NtWriteFile() failed (Status %lx)\n", Status); - RtlFreeHeap(RtlGetProcessHeap(), 0, FsInfo); - return Status; + goto done; }
UpdateProgress(Context, 1);
- /* Free the new sector buffer */ +done: + /* Free the buffer */ RtlFreeHeap(RtlGetProcessHeap(), 0, FsInfo); - return Status; }
@@ -169,7 +167,7 @@ return STATUS_INSUFFICIENT_RESOURCES;
/* Zero the buffer */ - memset(Buffer, 0, 64 * 1024); + RtlZeroMemory(Buffer, 64 * 1024);
/* FAT cluster 0 */ Buffer[0] = 0xf8; /* Media type */ @@ -203,14 +201,13 @@ if (!NT_SUCCESS(Status)) { DPRINT("NtWriteFile() failed (Status %lx)\n", Status); - RtlFreeHeap(RtlGetProcessHeap(), 0, Buffer); - return Status; + goto done; }
UpdateProgress(Context, 1);
/* Zero the begin of the buffer */ - memset(Buffer, 0, 12); + RtlZeroMemory(Buffer, 12);
/* Zero the rest of the FAT */ Sectors = 64 * 1024 / BootSector->BytesPerSector; @@ -236,16 +233,15 @@ if (!NT_SUCCESS(Status)) { DPRINT("NtWriteFile() failed (Status %lx)\n", Status); - RtlFreeHeap(RtlGetProcessHeap(), 0, Buffer); - return Status; + goto done; }
UpdateProgress(Context, Sectors); }
+done: /* Free the buffer */ RtlFreeHeap(RtlGetProcessHeap(), 0, Buffer); - return Status; }
@@ -270,7 +266,7 @@ return STATUS_INSUFFICIENT_RESOURCES;
/* Zero the buffer */ - memset(Buffer, 0, BootSector->SectorsPerCluster * BootSector->BytesPerSector); + RtlZeroMemory(Buffer, BootSector->SectorsPerCluster * BootSector->BytesPerSector);
DPRINT("BootSector->ReservedSectors = %lu\n", BootSector->ReservedSectors); DPRINT("BootSector->FATSectors32 = %lu\n", BootSector->FATSectors32); @@ -301,15 +297,14 @@ if (!NT_SUCCESS(Status)) { DPRINT("NtWriteFile() failed (Status %lx)\n", Status); - RtlFreeHeap(RtlGetProcessHeap(), 0, Buffer); - return Status; + goto done; }
UpdateProgress(Context, (ULONG)BootSector->SectorsPerCluster);
+done: /* Free the buffer */ RtlFreeHeap(RtlGetProcessHeap(), 0, Buffer); - return Status; }
@@ -390,7 +385,6 @@ done: /* Free the buffer */ RtlFreeHeap(RtlGetProcessHeap(), 0, Buffer); - return Status; }
@@ -435,7 +429,7 @@ } }
- memset(&BootSector, 0, sizeof(FAT32_BOOT_SECTOR)); + RtlZeroMemory(&BootSector, sizeof(FAT32_BOOT_SECTOR)); memcpy(&BootSector.OEMName[0], "MSWIN4.1", 8); BootSector.BytesPerSector = DiskGeometry->BytesPerSector; BootSector.SectorsPerCluster = ClusterSize / BootSector.BytesPerSector; @@ -466,7 +460,7 @@ else { RtlUnicodeStringToOemString(&VolumeLabel, Label, TRUE); - memset(&BootSector.VolumeLabel[0], ' ', 11); + RtlFillMemory(&BootSector.VolumeLabel[0], 11, ' '); memcpy(&BootSector.VolumeLabel[0], VolumeLabel.Buffer, VolumeLabel.Length < 11 ? VolumeLabel.Length : 11); RtlFreeOemString(&VolumeLabel);
Modified: trunk/reactos/lib/fslib/vfatlib/vfatlib.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/lib/fslib/vfatlib/vfatlib.h... ============================================================================== --- trunk/reactos/lib/fslib/vfatlib/vfatlib.h [iso-8859-1] (original) +++ trunk/reactos/lib/fslib/vfatlib/vfatlib.h [iso-8859-1] Sun Dec 27 19:38:13 2015 @@ -104,6 +104,10 @@ } FAT32_FSINFO, *PFAT32_FSINFO; #include <poppack.h>
+#define FSINFO_SECTOR_BEGIN_SIGNATURE 0x41615252 // 'RRaA' +#define FSINFO_SECTOR_END_SIGNATURE 0xAA550000 +#define FSINFO_SIGNATURE 0x61417272 // 'rrAa' + typedef struct _FORMAT_CONTEXT { PFMIFSCALLBACK Callback;