From 2e480b5ea1ee8d0959efc7818bc24a531d04cb2a Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Fri, 19 May 2017 19:15:08 +0100 Subject: [PATCH] Fixed broken logic for recursive counts of ListTag --- src/pocketmine/nbt/tag/ListTag.php | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/src/pocketmine/nbt/tag/ListTag.php b/src/pocketmine/nbt/tag/ListTag.php index 6c8e70a68..e02835611 100644 --- a/src/pocketmine/nbt/tag/ListTag.php +++ b/src/pocketmine/nbt/tag/ListTag.php @@ -98,18 +98,16 @@ class ListTag extends NamedTag implements \ArrayAccess, \Countable{ } public function count($mode = COUNT_NORMAL){ - for($i = 0; true; $i++){ - if(!isset($this->{$i})){ - return $i; - } - if($mode === COUNT_RECURSIVE){ - if($this->{$i} instanceof \Countable){ - $i += count($this->{$i}); - } + $count = 0; + for($i = 0; isset($this->{$i}); $i++){ + if($mode === COUNT_RECURSIVE and $this->{$i} instanceof \Countable){ + $count += count($this->{$i}); + }else{ + $count++; } } - return $i; + return $count; } public function getType(){