MiniDisplay/BitArray.cpp
changeset 6 b1b049e28772
parent 4 7d34342ac6e9
     1.1 --- a/MiniDisplay/BitArray.cpp	Tue May 27 22:14:29 2014 +0200
     1.2 +++ b/MiniDisplay/BitArray.cpp	Wed May 28 08:06:27 2014 +0200
     1.3 @@ -124,7 +124,9 @@
     1.4  *   Returned   : None
     1.5  ***************************************************************************/
     1.6  BitArray::BitArray(const int numBits):
     1.7 -    m_NumBits(numBits)
     1.8 +    m_NumBits(numBits),
     1.9 +    m_Array(NULL),
    1.10 +    m_OwnsBuffer(true)
    1.11  {
    1.12      m_SizeInBytes = BITS_TO_CHARS(numBits);
    1.13  
    1.14 @@ -146,10 +148,12 @@
    1.15  *   Effects    : Allocates vectory for array bits
    1.16  *   Returned   : None
    1.17  ***************************************************************************/
    1.18 -BitArray::BitArray(unsigned char *array, const int numBits):
    1.19 +BitArray::BitArray(unsigned char *array, const int numBits,bool aOwnsBuffer):
    1.20      m_NumBits(numBits),
    1.21 -    m_Array(array)
    1.22 +    m_Array(array),
    1.23 +    m_OwnsBuffer(aOwnsBuffer)
    1.24  {
    1.25 +
    1.26  }
    1.27  
    1.28  /***************************************************************************
    1.29 @@ -162,7 +166,11 @@
    1.30  ***************************************************************************/
    1.31  BitArray::~BitArray(void)
    1.32  {
    1.33 -    delete[] m_Array;
    1.34 +    if (m_OwnsBuffer)
    1.35 +    {
    1.36 +        delete[] m_Array;
    1.37 +        m_Array = NULL;
    1.38 +    }
    1.39  }
    1.40  
    1.41  /***************************************************************************