diff options
Diffstat (limited to 'src/misc/blob.hpp')
-rw-r--r-- | src/misc/blob.hpp | 24 |
1 files changed, 20 insertions, 4 deletions
diff --git a/src/misc/blob.hpp b/src/misc/blob.hpp index bf936934b..b1a5b667d 100644 --- a/src/misc/blob.hpp +++ b/src/misc/blob.hpp @@ -71,7 +71,10 @@ public: static const size_t header_size = sizeof(BlobHeader); /** default constructor - initializes empty blob */ - inline ByteBlob() { InitEmpty(); } + inline ByteBlob() + { + InitEmpty(); + } /** copy constructor */ inline ByteBlob(const ByteBlob &src) @@ -311,9 +314,22 @@ public: struct OnTransfer { typename base::BlobHeader *header; - OnTransfer(const OnTransfer& src) : header(src.header) {assert(src.header != NULL); *const_cast<typename base::BlobHeader**>(&src.header) = NULL;} - OnTransfer(CBlobT& src) : header(src.header) {src.InitEmpty();} - ~OnTransfer() {assert(header == NULL);} + + OnTransfer(const OnTransfer& src) : header(src.header) + { + assert(src.header != NULL); + *const_cast<typename base::BlobHeader**>(&src.header) = NULL; + } + + OnTransfer(CBlobT& src) : header(src.header) + { + src.InitEmpty(); + } + + ~OnTransfer() + { + assert(header == NULL); + } }; /** Default constructor - makes new Blob ready to accept any data */ |