From ed8152b1ed9baf859966fd21d6641dfba9c4467c Mon Sep 17 00:00:00 2001 From: Noel Grandin Date: Tue, 21 Apr 2020 07:51:25 +0200 Subject: improve loplugin:makeshared to find places where we are converting stuff to unique_ptr instead of using std::make_shared. As a bonus, this tends to find places where we are using shared_ptr where we can instead be using unique_ptr avoiding the locking overhead. Change-Id: I1b57bbc4a6c766b48bba8e25a55161800e149f62 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/93207 Tested-by: Jenkins Reviewed-by: Noel Grandin --- writerperfect/qa/unit/EPUBExportTest.cxx | 6 +++--- writerperfect/qa/unit/WPXSvStreamTest.cxx | 5 +++-- writerperfect/source/impress/KeynoteImportFilter.cxx | 11 ++++++----- 3 files changed, 12 insertions(+), 10 deletions(-) (limited to 'writerperfect') diff --git a/writerperfect/qa/unit/EPUBExportTest.cxx b/writerperfect/qa/unit/EPUBExportTest.cxx index c6518433de0e..cf50d2d9da52 100644 --- a/writerperfect/qa/unit/EPUBExportTest.cxx +++ b/writerperfect/qa/unit/EPUBExportTest.cxx @@ -111,7 +111,7 @@ void EPUBExportTest::createDoc(const OUString& rFile, xmlDocPtr EPUBExportTest::parseExport(const OUString& rName) { uno::Reference xInputStream(mxZipFile->getByName(rName), uno::UNO_QUERY); - std::shared_ptr pStream(utl::UcbStreamHelper::CreateStream(xInputStream, true)); + std::unique_ptr pStream(utl::UcbStreamHelper::CreateStream(xInputStream, true)); return parseXmlStream(pStream.get()); } @@ -120,7 +120,7 @@ std::map> EPUBExportTest::parseCss(const OUStrin std::map> aRet; uno::Reference xInputStream(mxZipFile->getByName(rName), uno::UNO_QUERY); - std::shared_ptr pStream(utl::UcbStreamHelper::CreateStream(xInputStream, true)); + std::unique_ptr pStream(utl::UcbStreamHelper::CreateStream(xInputStream, true)); // Minimal CSS handler till orcus is up to our needs. OString aLine; @@ -797,7 +797,7 @@ CPPUNIT_TEST_FIXTURE(EPUBExportTest, testSVG) CPPUNIT_ASSERT(mxZipFile->hasByName("OEBPS/images/image0001.svg")); uno::Reference xInputStream( mxZipFile->getByName("OEBPS/images/image0001.svg"), uno::UNO_QUERY); - std::shared_ptr pStream(utl::UcbStreamHelper::CreateStream(xInputStream, true)); + std::unique_ptr pStream(utl::UcbStreamHelper::CreateStream(xInputStream, true)); SvMemoryStream aMemoryStream; aMemoryStream.WriteStream(*pStream); diff --git a/writerperfect/qa/unit/WPXSvStreamTest.cxx b/writerperfect/qa/unit/WPXSvStreamTest.cxx index 368a8223368e..e9680510b43a 100644 --- a/writerperfect/qa/unit/WPXSvStreamTest.cxx +++ b/writerperfect/qa/unit/WPXSvStreamTest.cxx @@ -31,6 +31,7 @@ namespace ucb = com::sun::star::ucb; namespace uno = com::sun::star::uno; using std::shared_ptr; +using std::unique_ptr; using librevenge::RVNGInputStream; using librevenge::RVNG_SEEK_CUR; @@ -303,7 +304,7 @@ void WPXSvStreamTest::testStructured() // check for existing substream CPPUNIT_ASSERT(pInput->existsSubStream("WordDocument")); - shared_ptr pSubStream(pInput->getSubStreamByName("WordDocument")); + unique_ptr pSubStream(pInput->getSubStreamByName("WordDocument")); CPPUNIT_ASSERT(bool(pSubStream)); CPPUNIT_ASSERT(!pSubStream->isEnd()); @@ -325,7 +326,7 @@ void WPXSvStreamTest::testStructured() // check for existing substream CPPUNIT_ASSERT(pInput->existsSubStream("content.xml")); - shared_ptr pSubStream(pInput->getSubStreamByName("content.xml")); + unique_ptr pSubStream(pInput->getSubStreamByName("content.xml")); CPPUNIT_ASSERT(bool(pSubStream)); CPPUNIT_ASSERT(!pSubStream->isEnd()); diff --git a/writerperfect/source/impress/KeynoteImportFilter.cxx b/writerperfect/source/impress/KeynoteImportFilter.cxx index 1e69e85dc883..c212c5ab85d0 100644 --- a/writerperfect/source/impress/KeynoteImportFilter.cxx +++ b/writerperfect/source/impress/KeynoteImportFilter.cxx @@ -97,8 +97,8 @@ KeynoteImportFilter::detect(css::uno::Sequence& Descr if (!xInputStream.is()) return OUString(); - std::shared_ptr input - = std::make_shared(xInputStream); + std::unique_ptr input + = std::make_unique(xInputStream); /* Apple Keynote documents come in two variants: * * actual files (zip), only produced by Keynote 5 (at least with @@ -121,7 +121,7 @@ KeynoteImportFilter::detect(css::uno::Sequence& Descr { if (aContent.isFolder()) { - input = std::make_shared(xContent); + input = std::make_unique(xContent); bIsPackage = true; } } @@ -143,9 +143,10 @@ KeynoteImportFilter::detect(css::uno::Sequence& Descr if (bIsPackage) // we passed a directory stream, but the filter claims it's APXL file? return OUString(); - const std::shared_ptr pDir + std::unique_ptr xDir = writerperfect::DirectoryStream::createForParent(xContent); - input = pDir; + auto pDir = xDir.get(); + input = std::move(xDir); if (bool(input)) { if (libetonyek::EtonyekDocument::CONFIDENCE_EXCELLENT -- cgit