[Scummvm-cvs-logs] CVS: scummvm/common map.h,1.1,1.2

Max Horn fingolfin at users.sourceforge.net
Mon Sep 9 04:24:02 CEST 2002


Update of /cvsroot/scummvm/scummvm/common
In directory usw-pr-cvs1:/tmp/cvs-serv29457

Modified Files:
	map.h 
Log Message:
added missing destructor; fixed clearNodes; fixed parameter of merge()

Index: map.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/common/map.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- map.h	8 Sep 2002 01:08:11 -0000	1.1
+++ map.h	9 Sep 2002 11:23:31 -0000	1.2
@@ -79,6 +79,13 @@
 		_header = new Node();
 		_header->_right = _header->_left = _header;
 	}
+	
+	~Map<Key, Value>()
+	{
+		clearNodes(_root);
+		delete _header;
+		_root = _header = 0;
+	}
 
 	/*
 	 * Return the object for the given key. If no match is found, a new entry
@@ -160,7 +167,7 @@
 		delete node;
 	}
 	
-	void merge(Map<Key, Value> map)
+	void merge(const Map<Key, Value> &map)
 	{
 		// FIXME - this is a very bad algorithm.
 		// Right now we insert the items from 'map' using the default iterator,
@@ -234,8 +241,8 @@
 		if (!node)
 			return;
 
-		clearNodes(left);
-		clearNodes(right);
+		clearNodes(node->_left);
+		clearNodes(node->_right);
 		delete node;
 	}
 };





More information about the Scummvm-git-logs mailing list