/*----------------------------------------------------------------------------- File: PlgMem.cpp Description: Implementation of memory management utilities Author: Jasmin Frenette Date: 11/27/2000 -----------------------------------------------------------------------------*/ #include #include "PlgMem.hpp" void ChangeMemory(void* &pMem, long newSize) { void* pTemp; if(pMem == NULL){ // There was no previous memory allocated if(newSize!=0) pMem = (void*) GlobalAlloc(GPTR,newSize); } else{ if(newSize!=0){ // Add or remove memory space pTemp = (void*) GlobalAlloc(GPTR,newSize); memcpy(pTemp, pMem, min(GlobalSize(pMem), (unsigned long)newSize)); GlobalFree(pMem); pMem = pTemp; } else{ // Free the pointer GlobalFree(pMem); pMem = NULL; } } }