Diffstat (limited to 'noncore/apps/opie-reader/CBuffer.cpp') (more/less context) (ignore 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 @@ | |||
1 | #include "CBuffer.h" | ||
2 | |||
3 | CBuffer& CBuffer::operator=(const tchar*sztmp) | ||
4 | { | ||
5 | int i; | ||
6 | for (i = 0; sztmp[i] != '\0'; i++) (*this)[i] = sztmp[i]; | ||
7 | (*this)[i] = '\0'; | ||
8 | return *this; | ||
9 | } | ||
10 | |||
11 | tchar& CBuffer::operator[](int i) | ||
12 | { | ||
13 | if (i >= len) | ||
14 | { | ||
15 | tchar *newbuff = new tchar[i+1]; | ||
16 | memcpy(newbuff,buffer,sizeof(tchar)*len); | ||
17 | delete [] buffer; | ||
18 | buffer = newbuff; | ||
19 | len = i+1; | ||
20 | } | ||
21 | return buffer[i]; | ||
22 | } | ||
23 | |||
24 | size_t& CSizeBuffer::operator[](int i) | ||
25 | { | ||
26 | if (i >= len) | ||
27 | { | ||
28 | size_t *newbuff = new size_t[i+1]; | ||
29 | memcpy(newbuff,buffer,sizeof(size_t)*len); | ||
30 | delete [] buffer; | ||
31 | buffer = newbuff; | ||
32 | len = i+1; | ||
33 | } | ||
34 | return buffer[i]; | ||
35 | } | ||