Browse Source

copy is optional

PYADPT-55
Volker Birk 9 years ago
parent
commit
40e4fc50f2
  1. 15
      src/message.cc
  2. 2
      src/message.hh

15
src/message.cc

@ -12,13 +12,18 @@ namespace pEp {
} }
Message::Blob::Blob(const Blob& second) Message::Blob::Blob(const Blob& second, bool copy)
{ {
_size = second._size; _size = second._size;
_value = (char *) malloc(_size); if (copy) {
if (!_value) _value = (char *) malloc(_size);
throw bad_alloc(); if (!_value)
memcpy(_value, second._value, _size); throw bad_alloc();
memcpy(_value, second._value, _size);
}
else {
_value = second._value;
}
_mime_type = second._mime_type; _mime_type = second._mime_type;
_filename = second._filename; _filename = second._filename;
} }

2
src/message.hh

@ -19,7 +19,7 @@ namespace pEp {
public: public:
Blob(char *value = NULL, size_t size = 0, string mime_type = "", Blob(char *value = NULL, size_t size = 0, string mime_type = "",
string filename = ""); string filename = "");
Blob(const Blob& second); Blob(const Blob& second, bool copy = false);
~Blob(); ~Blob();
void attach(bloblist_t *blob); void attach(bloblist_t *blob);
bloblist_t *detach(); bloblist_t *detach();

Loading…
Cancel
Save