summaryrefslogtreecommitdiff
path: root/noncore/apps/opie-reader/CBuffer.cpp
blob: db524763038cad757cbb017c2892a77369903be3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include "CBuffer.h"

CBuffer& CBuffer::operator=(const tchar*sztmp)
{
  int i;
  for (i = 0; sztmp[i] != '\0'; i++) (*this)[i] = sztmp[i];
  (*this)[i] = '\0';
  return *this;
}

tchar& CBuffer::operator[](int i)
{
  if (i >= len)
    {
      tchar *newbuff = new tchar[i+1];
      memcpy(newbuff,buffer,sizeof(tchar)*len);
      delete [] buffer;
      buffer = newbuff;
      len = i+1;
    }
  return buffer[i];
}

size_t& CSizeBuffer::operator[](int i)
{
  if (i >= len)
    {
      size_t *newbuff = new size_t[i+1];
      memcpy(newbuff,buffer,sizeof(size_t)*len);
      delete [] buffer;
      buffer = newbuff;
      len = i+1;
    }
  return buffer[i];
}