void PrimaryPartition::RemoveLogicalPartition(LogicalPartition* partition) { if (!partition || partition->GetPrimaryPartition() != this) return; LogicalPartition* prev = partition->Previous(); LogicalPartition* next = partition->Next(); if (prev) prev->SetNext(next); else fHead = next; if (next) next->SetPrevious(prev); else fTail = prev; fLogicalPartitionCount--; partition->SetNext(NULL); partition->SetPrevious(NULL); partition->SetPrimaryPartition(NULL); }