Bug #65492 [Csd->Nab]: Seeking beyond EOF leads to inconsistent results for key() and current()

From: Date: Wed, 16 Oct 2013 04:59:37 +0000
Subject: Bug #65492 [Csd->Nab]: Seeking beyond EOF leads to inconsistent results for key() and current()
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-182309@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=65492&edit=1 ID: 65492 Updated by: nikic@php.net Reported by: foo at example dot com Summary: Seeking beyond EOF leads to inconsistent results for key() and current() -Status: Closed +Status: Not a bug Type: Bug Package: SPL related Operating System: any PHP Version: Irrelevant Assigned To: levim Block user comment: N Private report: N Previous Comments: ------------------------------------------------------------------------ [2013-10-16 02:22:00] levim@php.net I should have said "any other Iterator method besides rewind except on iterators that can't be rewound anyway". ------------------------------------------------------------------------ [2013-10-16 01:52:29] levim@php.net When valid() returns false and then you use any other Iterator method the result is undefined. This does properly return false for valid(), so there is no issue here. ------------------------------------------------------------------------ [2013-09-19 18:58:40] bixuehujin at gmail dot com Sorry, the expect result should be: Expect result: ---------------- string(4) "foo " string(4) "bar " ------------------------------------------------------------------------ [2013-09-19 18:55:40] bixuehujin at gmail dot com Another inconsistent: Script: ---------------- $txt = <<< TXT foo bar baz TXT; $file = new SplTempFileObject(-1); $file->fwrite($txt); $file->seek(0); var_dump($file->fgets()); $file->seek(1); var_dump($file->fgets()); Expect result: ---------------- string(4) "foo " string(3) "bar " Actual result: -------------- string(4) "foo " string(3) "baz" BTW: --------------- The issue also existed in SplFileObject. ------------------------------------------------------------------------ [2013-08-21 06:56:34] foo at example dot com Sorry, the last line in the Test Script should read var_dump( $file->key(), $file->current() ); The problem does exist for fgetcsv() though, too. It will return NULL instead of the data at the last line. ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at https://bugs.php.net/bug.php?id=65492 -- Edit this bug report at https://bugs.php.net/bug.php?id=65492&edit=1

« previous php.bugs (#182309) next »