aboutsummaryrefslogtreecommitdiff
path: root/src/libjin/fs/buffer.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/libjin/fs/buffer.h')
-rw-r--r--src/libjin/fs/buffer.h17
1 files changed, 13 insertions, 4 deletions
diff --git a/src/libjin/fs/buffer.h b/src/libjin/fs/buffer.h
index dfdea21..7571c2d 100644
--- a/src/libjin/fs/buffer.h
+++ b/src/libjin/fs/buffer.h
@@ -16,16 +16,25 @@ namespace fs
{
}
- inline ~Buffer()
+ inline Buffer(const Buffer& src)
{
- size = 0;
- delete[] data;
+ delete data;
+ size = src.size;
+ data = new char[size];
+ memcpy(data, src.data, size);
}
- inline Buffer(void* d, int size)
+ inline Buffer(void* d, int s)
{
data = new char(size);
memcpy(data, d, size);
+ size = s;
+ }
+
+ inline ~Buffer()
+ {
+ size = 0;
+ delete[] data;
}
public: