Kaydet (Commit) 4eca6654 authored tarafından Noel Grandin's avatar Noel Grandin

loplugin:useuniqueptr in HuffmanTreeNode

Change-Id: I30655c5ad44c93968ec39938ced9854105a831dd
Reviewed-on: https://gerrit.libreoffice.org/50716Tested-by: 's avatarJenkins <ci@libreoffice.org>
Reviewed-by: 's avatarNoel Grandin <noel.grandin@collabora.co.uk>
üst 4516546b
......@@ -459,16 +459,6 @@ HuffmanTreeNode::HuffmanTreeNode(sal_uInt32 nValue )
}
HuffmanTreeNode::~HuffmanTreeNode()
{
if (left)
{
delete left;
left = nullptr;
}
if (right)
{
delete right;
right = nullptr;
}
}
HuffmanTreeNode * HuffmanTreeNode::InsertNode(sal_uInt32 nValue, const sal_Char * pInCode)
......@@ -485,9 +475,9 @@ HuffmanTreeNode * HuffmanTreeNode::InsertNode(sal_uInt32 nValue, const sal_Char
pParent = InsertNode(0xffffffff, aCode.c_str());
}
if (cLast == '0')
pParent->left = pNew;
pParent->left.reset(pNew);
else // (cChar == '1')
pParent->right = pNew;
pParent->right.reset(pNew);
return pNew;
}
......@@ -502,11 +492,11 @@ HuffmanTreeNode * HuffmanTreeNode::QueryNode(const sal_Char * pCode)
sal_Char cChar= pCode[i];
if (cChar == '0')
{
pNode = pNode->left;
pNode = pNode->left.get();
}
else // (cChar == '1')
{
pNode = pNode->right;
pNode = pNode->right.get();
}
}
return pNode;
......
......@@ -57,14 +57,15 @@
#define INCLUDED_LOTUSWORDPRO_SOURCE_FILTER_EXPLODE_HXX
#include <sal/types.h>
#include <memory>
class SvStream;
class HuffmanTreeNode
{
public:
HuffmanTreeNode * left;
HuffmanTreeNode * right;
std::unique_ptr<HuffmanTreeNode> left;
std::unique_ptr<HuffmanTreeNode> right;
sal_uInt32 value;
explicit HuffmanTreeNode(sal_uInt32 value = 0xffffffff) ;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment