PrintEmptyLine(ListUi);
/* Print partition lines */
- PrimaryEntry = DiskEntry->PrimaryPartListHead.Flink;
- while (PrimaryEntry != &DiskEntry->PrimaryPartListHead)
+ for (PrimaryEntry = DiskEntry->PrimaryPartListHead.Flink;
+ PrimaryEntry != &DiskEntry->PrimaryPartListHead;
+ PrimaryEntry = PrimaryEntry->Flink)
{
PrimaryPartEntry = CONTAINING_RECORD(PrimaryEntry, PARTENTRY, ListEntry);
if (IsContainerPartition(PrimaryPartEntry->PartitionType))
{
- LogicalEntry = DiskEntry->LogicalPartListHead.Flink;
- while (LogicalEntry != &DiskEntry->LogicalPartListHead)
+ for (LogicalEntry = DiskEntry->LogicalPartListHead.Flink;
+ LogicalEntry != &DiskEntry->LogicalPartListHead;
+ LogicalEntry = LogicalEntry->Flink)
{
LogicalPartEntry = CONTAINING_RECORD(LogicalEntry, PARTENTRY, ListEntry);
PrintPartitionData(ListUi,
DiskEntry,
LogicalPartEntry);
-
- LogicalEntry = LogicalEntry->Flink;
}
}
-
- PrimaryEntry = PrimaryEntry->Flink;
}
/* Print separator line */
PPARTENTRY PartEntry = NULL;
COORD coPos;
ULONG Written;
+ USHORT Width;
+ USHORT Height;
SHORT i;
SHORT CurrentDiskLine;
SHORT CurrentPartLine;
BOOLEAN CurrentPartLineFound = FALSE;
BOOLEAN CurrentDiskLineFound = FALSE;
+ Width = ListUi->Right - ListUi->Left - 1;
+ Height = ListUi->Bottom - ListUi->Top - 2;
+
/* Calculate the line of the current disk and partition */
CurrentDiskLine = 0;
CurrentPartLine = 0;
LastLine = 0;
- Entry = List->DiskListHead.Flink;
- while (Entry != &List->DiskListHead)
+ for (Entry = List->DiskListHead.Flink;
+ Entry != &List->DiskListHead;
+ Entry = Entry->Flink)
{
DiskEntry = CONTAINING_RECORD(Entry, DISKENTRY, ListEntry);
CurrentPartLine += 2;
}
- Entry2 = DiskEntry->PrimaryPartListHead.Flink;
- while (Entry2 != &DiskEntry->PrimaryPartListHead)
+ for (Entry2 = DiskEntry->PrimaryPartListHead.Flink;
+ Entry2 != &DiskEntry->PrimaryPartListHead;
+ Entry2 = Entry2->Flink)
{
PartEntry = CONTAINING_RECORD(Entry2, PARTENTRY, ListEntry);
if (PartEntry == ListUi->CurrentPartition)
CurrentPartLineFound = TRUE;
}
- Entry2 = Entry2->Flink;
if (CurrentPartLineFound == FALSE)
{
CurrentPartLine++;
if (CurrentPartLineFound == FALSE)
{
- Entry2 = DiskEntry->LogicalPartListHead.Flink;
- while (Entry2 != &DiskEntry->LogicalPartListHead)
+ for (Entry2 = DiskEntry->LogicalPartListHead.Flink;
+ Entry2 != &DiskEntry->LogicalPartListHead;
+ Entry2 = Entry2->Flink)
{
PartEntry = CONTAINING_RECORD(Entry2, PARTENTRY, ListEntry);
if (PartEntry == ListUi->CurrentPartition)
CurrentPartLineFound = TRUE;
}
- Entry2 = Entry2->Flink;
if (CurrentPartLineFound == FALSE)
{
CurrentPartLine++;
CurrentDiskLineFound = TRUE;
}
- Entry = Entry->Flink;
- if (Entry != &List->DiskListHead)
+ if (Entry->Flink != &List->DiskListHead)
{
if (CurrentDiskLineFound == FALSE)
{
- CurrentPartLine ++;
+ CurrentPartLine++;
CurrentDiskLine = CurrentPartLine;
}
{
ListUi->Offset = CurrentPartLine;
}
- else if (CurrentPartLine - ListUi->Offset > ListUi->Bottom - ListUi->Top - 2)
+ else if (CurrentPartLine - ListUi->Offset > Height)
{
- ListUi->Offset = CurrentPartLine - (ListUi->Bottom - ListUi->Top - 2);
+ ListUi->Offset = CurrentPartLine - Height;
}
- if (CurrentDiskLine < ListUi->Offset && CurrentPartLine - CurrentDiskLine < ListUi->Bottom - ListUi->Top - 2)
+ if (CurrentDiskLine < ListUi->Offset && CurrentPartLine - CurrentDiskLine < Height)
{
ListUi->Offset = CurrentDiskLine;
}
{
FillConsoleOutputCharacterA(StdOutput,
0xC4, // '-',
- ListUi->Right - ListUi->Left - 1,
+ Width,
coPos,
&Written);
}
{
FillConsoleOutputCharacterA(StdOutput,
0xC4, // '-',
- ListUi->Right - ListUi->Left - 5,
+ Width - 4,
coPos,
&Written);
coPos.X = ListUi->Right - 5;
/* Draw lower edge */
coPos.X = ListUi->Left + 1;
coPos.Y = ListUi->Bottom;
- if (LastLine - ListUi->Offset <= ListUi->Bottom - ListUi->Top - 2)
+ if (LastLine - ListUi->Offset <= Height)
{
FillConsoleOutputCharacterA(StdOutput,
0xC4, // '-',
- ListUi->Right - ListUi->Left - 1,
+ Width,
coPos,
&Written);
}
{
FillConsoleOutputCharacterA(StdOutput,
0xC4, // '-',
- ListUi->Right - ListUi->Left - 5,
+ Width - 4,
coPos,
&Written);
coPos.X = ListUi->Right - 5;
coPos,
&Written);
- /* print list entries */
- ListUi->Line = - ListUi->Offset;
+ /* Print list entries */
+ ListUi->Line = -ListUi->Offset;
- Entry = List->DiskListHead.Flink;
- while (Entry != &List->DiskListHead)
+ for (Entry = List->DiskListHead.Flink;
+ Entry != &List->DiskListHead;
+ Entry = Entry->Flink)
{
DiskEntry = CONTAINING_RECORD(Entry, DISKENTRY, ListEntry);
/* Print disk entry */
PrintDiskData(ListUi, DiskEntry);
-
- Entry = Entry->Flink;
}
}