diff options
author | Noel Grandin <noel.grandin@collabora.co.uk> | 2017-01-31 14:46:38 +0200 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2017-02-01 12:15:22 +0000 |
commit | 2489000d3fd66319a8355fd4e37cfdfda47296d0 (patch) | |
tree | caad79e7b5bec3863604b20190b682c0d73d2b25 /codemaker/source/codemaker/exceptiontree.cxx | |
parent | 595848c85acc2609fcc48a40c7a9f216a2722cd8 (diff) |
loplugin:useuniqueptr extend to check local vars
just the simple and obvious case for now, of a local var being allocated
and deleted inside a single local block, and the delete happening at the
end of the block
Change-Id: I3a7a094da543debdcd2374737c2ecff91d644625
Reviewed-on: https://gerrit.libreoffice.org/33749
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'codemaker/source/codemaker/exceptiontree.cxx')
-rw-r--r-- | codemaker/source/codemaker/exceptiontree.cxx | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/codemaker/source/codemaker/exceptiontree.cxx b/codemaker/source/codemaker/exceptiontree.cxx index 0f63a5bd0ab5..e9edd6d8e146 100644 --- a/codemaker/source/codemaker/exceptiontree.cxx +++ b/codemaker/source/codemaker/exceptiontree.cxx @@ -36,14 +36,11 @@ using codemaker::ExceptionTreeNode; ExceptionTreeNode * ExceptionTreeNode::add(rtl::OString const & theName) { std::unique_ptr< ExceptionTreeNode > node(new ExceptionTreeNode(theName)); - children.push_back(node.get()); - return node.release(); + children.push_back(std::move(node)); + return children.back().get(); } void ExceptionTreeNode::clearChildren() { - for (ExceptionTreeNode* child : children) { - delete child; - } children.clear(); } @@ -85,7 +82,7 @@ void ExceptionTree::add( break; } if ((*j)->name == *i) { - node = *j; + node = j->get(); break; } } |