Diffstat (limited to 'noncore/apps/opie-reader/CBuffer.cpp') (more/less context) (show whitespace changes)
-rw-r--r-- | noncore/apps/opie-reader/CBuffer.cpp | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/noncore/apps/opie-reader/CBuffer.cpp b/noncore/apps/opie-reader/CBuffer.cpp new file mode 100644 index 0000000..db52476 --- a/dev/null +++ b/noncore/apps/opie-reader/CBuffer.cpp @@ -0,0 +1,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]; +} |