Murata RF modules are designed to simplify wireless development and certification by minimizing the amount of RF expertise you need to wirelessly enable a wide range of applications.
Diff: Payload.cpp
- Revision:
- 2:f8e393a81c25
- Parent:
- 0:8e83b9448758
- Child:
- 4:7388451219ee
--- a/Payload.cpp Wed Feb 04 18:10:30 2015 +0000 +++ b/Payload.cpp Wed Feb 04 20:37:40 2015 +0000 @@ -15,7 +15,7 @@ this->position = payload->position; } -const char * Payload::GetData() +char * Payload::GetData() { return data; } @@ -79,7 +79,7 @@ return; if (length > max) { - delete data; + delete[] data; data = new char[length]; } @@ -94,9 +94,9 @@ void Payload::SetContent(const char value) { if (position >= max) { - char temp[max + EXPANDSIZE]; + char * temp = new char[max + EXPANDSIZE]; memcpy(temp, data, position); - delete data; + delete[] data; data = temp; } @@ -105,14 +105,17 @@ void Payload::SetContent(const char * value, const int offset, const int length) { - if (position + length - offset>= max) { + if (length <= 0) + return; + + if (position + length >= max) { max += EXPANDSIZE * (1 + length / EXPANDSIZE); - char temp[max]; + char * temp = new char[max]; memcpy(temp, data, position); - delete data; + delete[] data; data = temp; } - memcpy(data + position, value, length); + memcpy(data + position, value + offset, length); position += length; } \ No newline at end of file