From f98312fe10b168eb4ba40c567075661e2f0060bf Mon Sep 17 00:00:00 2001
From: ShadowNinja <shadowninja@minetest.net>
Date: Mon, 18 Nov 2013 17:57:32 -0500
Subject: Optimize area and index finding

---
 internal.lua | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/internal.lua b/internal.lua
index 3c4212b..e57cfd8 100644
--- a/internal.lua
+++ b/internal.lua
@@ -158,16 +158,20 @@ end
 
 -- Returns a area given it's identifier
 function areas:getAreaById(id)
-	for _, area in pairs(self.areas) do
-		if area.id == id then return area end
+	if not self.areas[id] then
+		return nil
 	end
+	assert(self.areas[id].id == id)
+	return self.areas[id]
 end
 
 -- Returns a table index for an area given it's identifier
 function areas:getIndexById(id)
-	for i, area in pairs(self.areas) do
-		if area.id == id then return i end
+	if not self.areas[id] then
+		return nil
 	end
+	assert(self.areas[id].id == id)
+	return id
 end
 
 -- Re-order areas in table by their identifiers
-- 
cgit v1.2.3