[USETUP]
authorEric Kohl <eric.kohl@reactos.org>
Sat, 20 Jun 2015 13:42:39 +0000 (13:42 +0000)
committerEric Kohl <eric.kohl@reactos.org>
Sat, 20 Jun 2015 13:42:39 +0000 (13:42 +0000)
Add support for logical partitions to the partition deletion code.

svn path=/trunk/; revision=68207

reactos/base/setup/usetup/partlist.c

index 606280f..1c72ca7 100644 (file)
@@ -2349,8 +2349,14 @@ GetPrevUnpartitionedEntry(
     PPARTENTRY PartEntry)
 {
     PPARTENTRY PrevPartEntry;
     PPARTENTRY PartEntry)
 {
     PPARTENTRY PrevPartEntry;
+    PLIST_ENTRY ListHead;
 
 
-    if (PartEntry->ListEntry.Blink != &DiskEntry->PrimaryPartListHead)
+    if (PartEntry->LogicalPartition)
+        ListHead = &DiskEntry->LogicalPartListHead;
+    else
+        ListHead = &DiskEntry->PrimaryPartListHead;
+
+    if (PartEntry->ListEntry.Blink != ListHead)
     {
         PrevPartEntry = CONTAINING_RECORD(PartEntry->ListEntry.Blink,
                                           PARTENTRY,
     {
         PrevPartEntry = CONTAINING_RECORD(PartEntry->ListEntry.Blink,
                                           PARTENTRY,
@@ -2370,8 +2376,14 @@ GetNextUnpartitionedEntry(
     PPARTENTRY PartEntry)
 {
     PPARTENTRY NextPartEntry;
     PPARTENTRY PartEntry)
 {
     PPARTENTRY NextPartEntry;
+    PLIST_ENTRY ListHead;
+
+    if (PartEntry->LogicalPartition)
+        ListHead = &DiskEntry->LogicalPartListHead;
+    else
+        ListHead = &DiskEntry->PrimaryPartListHead;
 
 
-    if (PartEntry->ListEntry.Flink != &DiskEntry->PrimaryPartListHead)
+    if (PartEntry->ListEntry.Flink != ListHead)
     {
         NextPartEntry = CONTAINING_RECORD(PartEntry->ListEntry.Flink,
                                           PARTENTRY,
     {
         NextPartEntry = CONTAINING_RECORD(PartEntry->ListEntry.Flink,
                                           PARTENTRY,