From: Chuck Hagenbuch Date: Tue, 16 Jun 2009 02:56:21 +0000 (-0400) Subject: fix direct iterator usage (don't return an initial null) X-Git-Url: https://git.internetallee.de/?a=commitdiff_plain;h=8e3c95fca331ba53e1325529f54e3324a89ac5aa;p=horde.git fix direct iterator usage (don't return an initial null) --- diff --git a/framework/Db/lib/Horde/Db/StatementParser.php b/framework/Db/lib/Horde/Db/StatementParser.php index 84885e734..562269a27 100644 --- a/framework/Db/lib/Horde/Db/StatementParser.php +++ b/framework/Db/lib/Horde/Db/StatementParser.php @@ -20,22 +20,30 @@ */ class Horde_Db_StatementParser implements Iterator { - private $_count; - private $_currentStatement; + protected $_count = 0; + protected $_currentStatement; - public function __construct(SplFileObject $file) + public function __construct($file) { + if (is_string($file)) { + $file = new SplFileObject($file, 'r'); + } $this->_file = $file; - $this->_count = 0; } public function current() { + if (is_null($this->_currentStatement)) { + $this->rewind(); + } return $this->_currentStatement; } public function key() { + if (is_null($this->_currentStatement)) { + $this->rewind(); + } return $this->_count; } @@ -51,7 +59,9 @@ class Horde_Db_StatementParser implements Iterator public function rewind() { $this->_count = 0; - return $this->_file->rewind(); + $this->_currentStatement = null; + $this->_file->rewind(); + $this->next(); } public function valid()