46 lines
1.1 KiB
C++
46 lines
1.1 KiB
C++
|
// This was a part of the Microsoft Foundation Classes C++ library.
|
||
|
// Copyright (C) Microsoft Corporation, 1992 - 1999
|
||
|
// All rights reserved.
|
||
|
//
|
||
|
// This source code is only intended as a supplement to the
|
||
|
// Microsoft Foundation Classes Reference and related
|
||
|
// electronic documentation provided with the library.
|
||
|
// See these sources for detailed information regarding the
|
||
|
// Microsoft Foundation Classes product.
|
||
|
|
||
|
#include "stdafx.h"
|
||
|
|
||
|
|
||
|
#ifdef _DEBUG
|
||
|
#undef THIS_FILE
|
||
|
static char THIS_FILE[] = __FILE__;
|
||
|
#endif
|
||
|
|
||
|
|
||
|
/////////////////////////////////////////////////////////////////////////////
|
||
|
// CPlex
|
||
|
|
||
|
CPlex* PASCAL CPlex::Create(CPlex*& pHead, UINT nMax, UINT cbElement)
|
||
|
{
|
||
|
ASSERT(nMax > 0 && cbElement > 0);
|
||
|
CPlex* p = (CPlex*) new BYTE[sizeof(CPlex) + nMax * cbElement];
|
||
|
if (p == NULL)
|
||
|
return NULL;
|
||
|
|
||
|
p->pNext = pHead;
|
||
|
pHead = p; // change head (adds in reverse order for simplicity)
|
||
|
return p;
|
||
|
}
|
||
|
|
||
|
void CPlex::FreeDataChain() // free this one and links
|
||
|
{
|
||
|
CPlex* p = this;
|
||
|
while (p != NULL)
|
||
|
{
|
||
|
BYTE* bytes = (BYTE*) p;
|
||
|
CPlex* pNext = p->pNext;
|
||
|
delete[] bytes;
|
||
|
p = pNext;
|
||
|
}
|
||
|
}
|