From 5c399ab820825eca7700ed8c0a1db3f1d2312438 Mon Sep 17 00:00:00 2001 From: roker Date: Tue, 28 Sep 2021 17:42:44 +0200 Subject: [PATCH] fix Wrapper<::message*>::_new() to use mime_decode_message() instead of a dummy. --- src/types.cc | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/types.cc b/src/types.cc index d6fe3b2..ad27d0f 100644 --- a/src/types.cc +++ b/src/types.cc @@ -1,6 +1,9 @@ #include "types.hh" #include // from libpEpAdapter + +#include + /* #include #include @@ -23,13 +26,18 @@ namespace pEp template<> template<> - message* Wrapper<::message*>::_new(PEP_msg_direction dir, const char* s) + message* Wrapper<::message*>::_new(PEP_msg_direction dir, const char* src) { - message* m = new_message(dir); - if(!m) + message* m = nullptr; + bool pep_msg = false; + + PEP_STATUS status = mime_decode_message(src, strlen(src), &m, &pep_msg); + if(status != PEP_STATUS_OK) { - throw EngineError(PEP_OUT_OF_MEMORY, "new_message()"); + throw EngineError(status, "mime_decode_message()"); } + + m->dir = dir; return m; }