From 703ba72071b970caaa7554b1e58a13def57694dc Mon Sep 17 00:00:00 2001 From: Peter Powell Date: Tue, 13 Aug 2019 14:03:51 +0100 Subject: Convert LocalExtItem to a typedef and deprecate it. --- src/base.cpp | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) (limited to 'src/base.cpp') diff --git a/src/base.cpp b/src/base.cpp index afd561ff2..b4ea09bc9 100644 --- a/src/base.cpp +++ b/src/base.cpp @@ -284,15 +284,6 @@ void ExtensionItem::unserialize(SerializeFormat format, Extensible* container, c } } -LocalExtItem::LocalExtItem(const std::string& Key, ExtensibleType exttype, Module* mod) - : ExtensionItem(Key, exttype, mod) -{ -} - -LocalExtItem::~LocalExtItem() -{ -} - LocalStringExt::LocalStringExt(const std::string& Key, ExtensibleType exttype, Module* Owner) : SimpleExtItem(Key, exttype, Owner) { @@ -313,7 +304,7 @@ void LocalStringExt::FromInternal(Extensible* container, const std::string& valu } LocalIntExt::LocalIntExt(const std::string& Key, ExtensibleType exttype, Module* mod) - : LocalExtItem(Key, exttype, mod) + : ExtensionItem(Key, exttype, mod) { } -- cgit v1.3.1-10-gc9f91 From 0827c5c7425a17b6a569a9f706b5b3dea8fa345a Mon Sep 17 00:00:00 2001 From: Peter Powell Date: Tue, 13 Aug 2019 13:35:05 +0100 Subject: Free StringExtItem and SimpleExtItem values correctly. --- include/extensible.h | 9 +++------ src/base.cpp | 4 ++-- 2 files changed, 5 insertions(+), 8 deletions(-) (limited to 'src/base.cpp') diff --git a/include/extensible.h b/include/extensible.h index 0efb1db5f..c24984f26 100644 --- a/include/extensible.h +++ b/include/extensible.h @@ -210,22 +210,19 @@ class SimpleExtItem : public ExtensionItem { T* ptr = new T(value); T* old = static_cast(set_raw(container, ptr)); - Del del; - del(old); + free(container, old); } inline void set(Extensible* container, T* value) { T* old = static_cast(set_raw(container, value)); - Del del; - del(old); + free(container, old); } inline void unset(Extensible* container) { T* old = static_cast(unset_raw(container)); - Del del; - del(old); + free(container, old); } void free(Extensible* container, void* item) CXX11_OVERRIDE diff --git a/src/base.cpp b/src/base.cpp index b4ea09bc9..ebd5214db 100644 --- a/src/base.cpp +++ b/src/base.cpp @@ -369,13 +369,13 @@ void StringExtItem::FromNetwork(Extensible* container, const std::string& value) void StringExtItem::set(Extensible* container, const std::string& value) { void* old = set_raw(container, new std::string(value)); - delete static_cast(old); + free(container, old); } void StringExtItem::unset(Extensible* container) { void* old = unset_raw(container); - delete static_cast(old); + free(container, old); } void StringExtItem::free(Extensible* container, void* item) -- cgit v1.3.1-10-gc9f91