From 34f9c9a9195e33e87cf791165c9a790d3f4865f6 Mon Sep 17 00:00:00 2001 From: Buke Po Date: Mon, 7 Aug 2017 00:26:37 -0500 Subject: [PATCH] [message] change Message::Free() to return void (#2071) --- include/openthread/message.h | 4 +--- src/core/api/message_api.cpp | 4 ++-- src/core/common/message.cpp | 16 ++++++---------- src/core/common/message.hpp | 9 +++------ src/core/crypto/mbedtls.cpp | 2 +- tests/unit/test_message.cpp | 3 +-- tests/unit/test_ncp_buffer.cpp | 2 +- 7 files changed, 15 insertions(+), 25 deletions(-) diff --git a/include/openthread/message.h b/include/openthread/message.h index 473251ac4..31c26dc83 100644 --- a/include/openthread/message.h +++ b/include/openthread/message.h @@ -56,8 +56,6 @@ extern "C" { * * @param[in] aMessage A pointer to a message buffer. * - * @retval OT_ERROR_NONE Successfully freed the message buffer. - * * @sa otMessageAppend * @sa otMessageGetLength * @sa otMessageSetLength @@ -66,7 +64,7 @@ extern "C" { * @sa otMessageRead * @sa otMessageWrite */ -otError otMessageFree(otMessage *aMessage); +void otMessageFree(otMessage *aMessage); /** * Get the message length in bytes. diff --git a/src/core/api/message_api.cpp b/src/core/api/message_api.cpp index d42ec0a48..d104594bb 100644 --- a/src/core/api/message_api.cpp +++ b/src/core/api/message_api.cpp @@ -38,9 +38,9 @@ using namespace ot; -otError otMessageFree(otMessage *aMessage) +void otMessageFree(otMessage *aMessage) { - return static_cast(aMessage)->Free(); + static_cast(aMessage)->Free(); } uint16_t otMessageGetLength(otMessage *aMessage) diff --git a/src/core/common/message.cpp b/src/core/common/message.cpp index 0f5ac3bdf..c191c1191 100644 --- a/src/core/common/message.cpp +++ b/src/core/common/message.cpp @@ -89,7 +89,7 @@ exit: return message; } -otError MessagePool::Free(Message *aMessage) +void MessagePool::Free(Message *aMessage) { assert(aMessage->Next(MessageInfo::kListAll) == NULL && aMessage->Prev(MessageInfo::kListAll) == NULL); @@ -97,7 +97,7 @@ otError MessagePool::Free(Message *aMessage) assert(aMessage->Next(MessageInfo::kListInterface) == NULL && aMessage->Prev(MessageInfo::kListInterface) == NULL); - return FreeBuffers(static_cast(aMessage)); + FreeBuffers(static_cast(aMessage)); } Buffer *MessagePool::NewBuffer(void) @@ -128,13 +128,11 @@ Buffer *MessagePool::NewBuffer(void) return buffer; } -otError MessagePool::FreeBuffers(Buffer *aBuffer) +void MessagePool::FreeBuffers(Buffer *aBuffer) { - Buffer *tmpBuffer; - while (aBuffer != NULL) { - tmpBuffer = aBuffer->GetNextBuffer(); + Buffer *tmpBuffer = aBuffer->GetNextBuffer(); #if OPENTHREAD_CONFIG_PLATFORM_MESSAGE_MANAGEMENT otPlatMessagePoolFree(&GetInstance(), aBuffer); #else // OPENTHREAD_CONFIG_PLATFORM_MESSAGE_MANAGEMENT @@ -144,8 +142,6 @@ otError MessagePool::FreeBuffers(Buffer *aBuffer) #endif // OPENTHREAD_CONFIG_PLATFORM_MESSAGE_MANAGEMENT aBuffer = tmpBuffer; } - - return OT_ERROR_NONE; } otError MessagePool::ReclaimBuffers(int aNumBuffers) @@ -260,9 +256,9 @@ exit: return error; } -otError Message::Free(void) +void Message::Free(void) { - return GetMessagePool()->Free(this); + GetMessagePool()->Free(this); } Message *Message::GetNext(void) const diff --git a/src/core/common/message.hpp b/src/core/common/message.hpp index 52afae634..8a5d66dac 100644 --- a/src/core/common/message.hpp +++ b/src/core/common/message.hpp @@ -235,7 +235,7 @@ public: * This method frees this message buffer. * */ - otError Free(void); + void Free(void); /** * This method returns a pointer to the next message in the same interface list. @@ -1126,11 +1126,8 @@ public: * * @param[in] aMessage The message to free. * - * @retval OT_ERROR_NONE Successfully freed the message. - * @retval OT_ERROR_INVALID_ARGS The message is already freed. - * */ - otError Free(Message *aMessage); + void Free(Message *aMessage); /** * This method returns a pointer to the first message (head) in the all-messages list. @@ -1169,7 +1166,7 @@ private: }; Buffer *NewBuffer(void); - otError FreeBuffers(Buffer *aBuffer); + void FreeBuffers(Buffer *aBuffer); otError ReclaimBuffers(int aNumBuffers); PriorityQueue *GetAllMessagesQueue(void) { return &mAllQueue; } diff --git a/src/core/crypto/mbedtls.cpp b/src/core/crypto/mbedtls.cpp index 244ac24b9..ffec6185b 100644 --- a/src/core/crypto/mbedtls.cpp +++ b/src/core/crypto/mbedtls.cpp @@ -53,7 +53,7 @@ static void *CAlloc(size_t aCount, size_t aSize) static void Free(void *aPointer) { - return otGetInstance()->mMbedTlsHeap.Free(aPointer); + otGetInstance()->mMbedTlsHeap.Free(aPointer); } MbedTls::MbedTls(void) diff --git a/tests/unit/test_message.cpp b/tests/unit/test_message.cpp index 3792f7162..8a5312fc7 100644 --- a/tests/unit/test_message.cpp +++ b/tests/unit/test_message.cpp @@ -66,8 +66,7 @@ void TestMessage(void) "Message compare failed\n"); VerifyOrQuit(message->GetLength() == 1024, "Message::GetLength failed\n"); - SuccessOrQuit(message->Free(), - "Message::Free failed\n"); + message->Free(); testFreeInstance(instance); } diff --git a/tests/unit/test_ncp_buffer.cpp b/tests/unit/test_ncp_buffer.cpp index 645a8cde7..092f5be8d 100644 --- a/tests/unit/test_ncp_buffer.cpp +++ b/tests/unit/test_ncp_buffer.cpp @@ -769,7 +769,7 @@ void TestNcpFrameBuffer(void) SuccessOrQuit(message->SetLength(sizeof(sMysteryText)), "Could not set the length of message."); message->Write(0, sizeof(sMysteryText), sMysteryText); VerifyOrQuit(ncpBuffer.InFrameFeedMessage(message) == OT_ERROR_INVALID_STATE, "Incorrect error status"); - SuccessOrQuit(message->Free(), "Failed to free allocated message"); + message->Free(); VerifyOrQuit(ncpBuffer.InFrameEnd() == OT_ERROR_INVALID_STATE, "Incorrect error status"); VerifyAndRemoveFrame2(ncpBuffer); VerifyAndRemoveFrame1(ncpBuffer);