From 323ac8b90c3cdc82c35de8172f46a7b6244282c2 Mon Sep 17 00:00:00 2001 From: Ben FrantzDale Date: Fri, 3 Oct 2014 16:40:17 -0400 Subject: [PATCH] More cleanup. malloc=>new. --- IntervalTree.h | 27 ++++++++++++--------------- 1 file changed, 12 insertions(+), 15 deletions(-) diff --git a/IntervalTree.h b/IntervalTree.h index 43db628..a6979a0 100644 --- a/IntervalTree.h +++ b/IntervalTree.h @@ -62,20 +62,17 @@ class IntervalTree { , center(0) { } - IntervalTree(const intervalTree& other) { + IntervalTree(const intervalTree& other) + : left(NULL) + , right(NULL) + { center = other.center; intervals = other.intervals; if (other.left) { - left = (intervalTree*) malloc(sizeof(intervalTree)); - *left = *other.left; - } else { - left = NULL; + left = new intervalTree(*other.left); } if (other.right) { - right = new intervalTree(); - *right = *other.right; - } else { - right = NULL; + right = new intervalTree(*other.right); } } @@ -83,15 +80,15 @@ class IntervalTree { center = other.center; intervals = other.intervals; if (other.left) { - left = new intervalTree(); - *left = *other.left; + left = new intervalTree(*other.left); } else { + if (left) delete left; left = NULL; } if (other.right) { - right = new intervalTree(); - *right = *other.right; + right = new intervalTree(*other.right); } else { + if (right) delete right; right = NULL; } return *this; @@ -112,12 +109,12 @@ class IntervalTree { --depth; IntervalStartSorter intervalStartSorter; if (depth == 0 || (ivals.size() < minbucket && ivals.size() < maxbucket)) { - sort(ivals.begin(), ivals.end(), intervalStartSorter); + std::sort(ivals.begin(), ivals.end(), intervalStartSorter); intervals = ivals; } else { if (leftextent == 0 && rightextent == 0) { // sort intervals by start - sort(ivals.begin(), ivals.end(), intervalStartSorter); + std::sort(ivals.begin(), ivals.end(), intervalStartSorter); } int leftp = 0;