https://git.reactos.org/?p=reactos.git;a=commitdiff;h=f1a4a6e70449f71f5e2505...
commit f1a4a6e70449f71f5e250527a0e44c1f28022dd8 Author: Hermès Bélusca-Maïto hermes.belusca-maito@reactos.org AuthorDate: Sun Mar 3 17:03:59 2019 +0100 Commit: Hermès Bélusca-Maïto hermes.belusca-maito@reactos.org CommitDate: Wed Nov 4 23:26:54 2020 +0100
[USETUP] Introduce two helpers for formatting displayed disk and partition sizes in order to reduce code duplication. --- base/setup/usetup/usetup.c | 165 ++++++++++++++++++--------------------------- 1 file changed, 67 insertions(+), 98 deletions(-)
diff --git a/base/setup/usetup/usetup.c b/base/setup/usetup/usetup.c index 9b7cabb6324..01907778721 100644 --- a/base/setup/usetup/usetup.c +++ b/base/setup/usetup/usetup.c @@ -419,6 +419,66 @@ PopupError(PCCH Text, }
+/** See also usetup:partlist.c!PrintDiskData() **/ +VOID +PrettifySize1( + IN OUT PULONGLONG Size, + OUT PCSTR* Unit) +{ + ULONGLONG DiskSize = *Size; + +#if 0 + if (DiskSize >= 10 * GB) /* 10 GB */ + { + DiskSize = DiskSize / GB; + *Unit = MUIGetString(STRING_GB); + } + else +#endif + { + DiskSize = DiskSize / MB; + if (DiskSize == 0) + DiskSize = 1; + + *Unit = MUIGetString(STRING_MB); + } + + *Size = DiskSize; +} + +/** See also usetup:partlist.c!PrintPartitionData() **/ +VOID +PrettifySize2( + IN OUT PULONGLONG Size, + OUT PCSTR* Unit) +{ + ULONGLONG PartSize = *Size; + +#if 0 + if (PartSize >= 10 * GB) /* 10 GB */ + { + PartSize = PartSize / GB; + *Unit = MUIGetString(STRING_GB); + } + else +#endif + if (PartSize >= 10 * MB) /* 10 MB */ + { + PartSize = PartSize / MB; + *Unit = MUIGetString(STRING_MB); + } + else + { + PartSize = PartSize / KB; + *Unit = MUIGetString(STRING_KB); + } + + // if (PartSize == 0) + // PartSize = 1; + *Size = PartSize; +} + + /* * Confirm quit setup * RETURNS @@ -2081,21 +2141,7 @@ CreatePrimaryPartitionPage(PINPUT_RECORD Ir) CONSOLE_SetTextXY(6, 8, MUIGetString(STRING_CHOOSENEWPARTITION));
DiskSize = DiskEntry->SectorCount.QuadPart * DiskEntry->BytesPerSector; -#if 0 - if (DiskSize >= 10 * GB) /* 10 GB */ - { - DiskSize = DiskSize / GB; - Unit = MUIGetString(STRING_GB); - } - else -#endif - { - DiskSize = DiskSize / MB; - if (DiskSize == 0) - DiskSize = 1; - - Unit = MUIGetString(STRING_MB); - } + PrettifySize1(&DiskSize, &Unit);
if (DiskEntry->DriverName.Length > 0) { @@ -2243,21 +2289,7 @@ CreateExtendedPartitionPage(PINPUT_RECORD Ir) CONSOLE_SetTextXY(6, 8, MUIGetString(STRING_CHOOSE_NEW_EXTENDED_PARTITION));
DiskSize = DiskEntry->SectorCount.QuadPart * DiskEntry->BytesPerSector; -#if 0 - if (DiskSize >= 10 * GB) /* 10 GB */ - { - DiskSize = DiskSize / GB; - Unit = MUIGetString(STRING_GB); - } - else -#endif - { - DiskSize = DiskSize / MB; - if (DiskSize == 0) - DiskSize = 1; - - Unit = MUIGetString(STRING_MB); - } + PrettifySize1(&DiskSize, &Unit);
if (DiskEntry->DriverName.Length > 0) { @@ -2404,21 +2436,7 @@ CreateLogicalPartitionPage(PINPUT_RECORD Ir) CONSOLE_SetTextXY(6, 8, MUIGetString(STRING_CHOOSE_NEW_LOGICAL_PARTITION));
DiskSize = DiskEntry->SectorCount.QuadPart * DiskEntry->BytesPerSector; -#if 0 - if (DiskSize >= 10 * GB) /* 10 GB */ - { - DiskSize = DiskSize / GB; - Unit = MUIGetString(STRING_GB); - } - else -#endif - { - DiskSize = DiskSize / MB; - if (DiskSize == 0) - DiskSize = 1; - - Unit = MUIGetString(STRING_MB); - } + PrettifySize1(&DiskSize, &Unit);
if (DiskEntry->DriverName.Length > 0) { @@ -2606,24 +2624,7 @@ DeletePartitionPage(PINPUT_RECORD Ir) ARRAYSIZE(PartTypeString));
PartSize = PartEntry->SectorCount.QuadPart * DiskEntry->BytesPerSector; -#if 0 - if (PartSize >= 10 * GB) /* 10 GB */ - { - PartSize = PartSize / GB; - Unit = MUIGetString(STRING_GB); - } - else -#endif - if (PartSize >= 10 * MB) /* 10 MB */ - { - PartSize = PartSize / MB; - Unit = MUIGetString(STRING_MB); - } - else - { - PartSize = PartSize / KB; - Unit = MUIGetString(STRING_KB); - } + PrettifySize2(&PartSize, &Unit);
if (*PartTypeString == '\0') // STRING_FORMATUNKNOWN ?? { @@ -2647,21 +2648,7 @@ DeletePartitionPage(PINPUT_RECORD Ir) }
DiskSize = DiskEntry->SectorCount.QuadPart * DiskEntry->BytesPerSector; -#if 0 - if (DiskSize >= 10 * GB) /* 10 GB */ - { - DiskSize = DiskSize / GB; - Unit = MUIGetString(STRING_GB); - } - else -#endif - { - DiskSize = DiskSize / MB; - if (DiskSize == 0) - DiskSize = 1; - - Unit = MUIGetString(STRING_MB); - } + PrettifySize1(&DiskSize, &Unit);
if (DiskEntry->DriverName.Length > 0) { @@ -3124,29 +3111,11 @@ SelectFileSystemPage(PINPUT_RECORD Ir)
/* Adjust disk size */ DiskSize = DiskEntry->SectorCount.QuadPart * DiskEntry->BytesPerSector; - if (DiskSize >= 10 * GB) /* 10 GB */ - { - DiskSize = DiskSize / GB; - DiskUnit = MUIGetString(STRING_GB); - } - else - { - DiskSize = DiskSize / MB; - DiskUnit = MUIGetString(STRING_MB); - } + PrettifySize1(&DiskSize, &DiskUnit);
/* Adjust partition size */ PartSize = PartEntry->SectorCount.QuadPart * DiskEntry->BytesPerSector; - if (PartSize >= 10 * GB) /* 10 GB */ - { - PartSize = PartSize / GB; - PartUnit = MUIGetString(STRING_GB); - } - else - { - PartSize = PartSize / MB; - PartUnit = MUIGetString(STRING_MB); - } + PrettifySize2(&PartSize, &PartUnit);
/* Adjust partition type */ GetPartTypeStringFromPartitionType(PartEntry->PartitionType,