diff options
| author | Tobias Markmann <tobias.markmann@isode.com> | 2019-10-18 06:19:53 (GMT) |
|---|---|---|
| committer | Tobias Markmann <tobias.markmann@isode.com> | 2019-10-18 06:19:53 (GMT) |
| commit | 7de9a3489c3e2ddc4c0ab78f43649c5d6be20aca (patch) | |
| tree | e0cfb4493ae07c3aa2270d3b94a1eb66ff4956dc /Swiften/Network | |
| parent | 2239cdae45b39e675877ae32c86c47bcadce3090 (diff) | |
| download | swift-7de9a3489c3e2ddc4c0ab78f43649c5d6be20aca.zip swift-7de9a3489c3e2ddc4c0ab78f43649c5d6be20aca.tar.bz2 | |
Return unique_ptr in PlatformIDNConverter::create()
There are cases where users of this method forget to
free the pointer. This is now avoided by returning a
unique_ptr.
Test-Information:
All existing unit and integration tests, i.e. `./scons
test=all` pass.
Change-Id: I10a88c3361823074d81db7af8cec1bd70c409995
Diffstat (limited to 'Swiften/Network')
| -rw-r--r-- | Swiften/Network/BoostNetworkFactories.cpp | 7 | ||||
| -rw-r--r-- | Swiften/Network/BoostNetworkFactories.h | 8 |
2 files changed, 8 insertions, 7 deletions
diff --git a/Swiften/Network/BoostNetworkFactories.cpp b/Swiften/Network/BoostNetworkFactories.cpp index 9fef73c..13a7960 100644 --- a/Swiften/Network/BoostNetworkFactories.cpp +++ b/Swiften/Network/BoostNetworkFactories.cpp @@ -1,3 +1,3 @@ /* - * Copyright (c) 2010-2016 Isode Limited. + * Copyright (c) 2010-2019 Isode Limited. * All rights reserved. @@ -46,5 +46,5 @@ BoostNetworkFactories::BoostNetworkFactories(EventLoop* eventLoop, std::shared_p // TODO: What to do about idnConverter. - domainNameResolver = new UnboundDomainNameResolver(idnConverter, ioServiceThread.getIOService(), eventLoop); + domainNameResolver = new UnboundDomainNameResolver(idnConverter.get(), ioServiceThread.getIOService(), eventLoop); #else - domainNameResolver = new PlatformDomainNameResolver(idnConverter, eventLoop); + domainNameResolver = new PlatformDomainNameResolver(idnConverter.get(), eventLoop); #endif @@ -56,3 +56,2 @@ BoostNetworkFactories::~BoostNetworkFactories() { delete domainNameResolver; - delete idnConverter; delete proxyProvider; diff --git a/Swiften/Network/BoostNetworkFactories.h b/Swiften/Network/BoostNetworkFactories.h index 2bf8d33..33a3584 100644 --- a/Swiften/Network/BoostNetworkFactories.h +++ b/Swiften/Network/BoostNetworkFactories.h @@ -1,3 +1,3 @@ /* - * Copyright (c) 2010-2017 Isode Limited. + * Copyright (c) 2010-2019 Isode Limited. * All rights reserved. @@ -8,2 +8,4 @@ +#include <memory> + #include <Swiften/Base/API.h> @@ -70,3 +72,3 @@ namespace Swift { virtual IDNConverter* getIDNConverter() const override { - return idnConverter; + return idnConverter.get(); } @@ -89,3 +91,3 @@ namespace Swift { EventLoop* eventLoop; - IDNConverter* idnConverter; + std::unique_ptr<IDNConverter> idnConverter; CryptoProvider* cryptoProvider; |
Swift