If the EOF is reached (means no block found or really reached the last block),
authorRoland Haeder <roland@mxchange.org>
Fri, 23 May 2014 23:53:14 +0000 (01:53 +0200)
committerRoland Haeder <roland@mxchange.org>
Fri, 23 May 2014 23:53:14 +0000 (01:53 +0200)
the whole loaded data needs to be set as currently loaded block. Only
setCurrentBlock() needs to be called then. :-)

Signed-off-by: Roland H├Ąder <roland@mxchange.org>
inc/classes/main/iterator/io/class_FileIoIterator.php
inc/classes/main/stacker/file/class_BaseFileStack.php

index ba1019a..20d351f 100644 (file)
@@ -153,13 +153,17 @@ class FileIoIterator extends BaseIterator implements SeekableWritableFileIterato
                while ((!$this->getPointerInstance()->isEndOfFileReached()) && (!$this->getBlockInstance()->isBlockSeparatorFound($data))) {
                        // Then read the block
                        $data .= $this->read($length);
-                       /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__)->debugOutput('data()=' . strlen($data));
+                       //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__)->debugOutput('data()=' . strlen($data));
                } // END - if
 
                // EOF reached?
                if ($this->getPointerInstance()->isEndOfFileReached()) {
+                       // Set whole data as current block
+                       //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__)->debugOutput('Calling setCurrentBlock(' . strlen($data) . ') ...');
+                       $this->setCurrentBlock($data);
+
                        // Then abort here silently
-                       /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__)->debugOutput('EOF reached.');
+                       //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__)->debugOutput('EOF reached.');
                        return;
                } // END - if
 
@@ -173,7 +177,7 @@ class FileIoIterator extends BaseIterator implements SeekableWritableFileIterato
                $dataArray = explode(self::getBlockSeparator(), $data);
 
                // This array must contain two elements
-               /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__)->debugOutput('dataArray=' . print_r($dataArray, TRUE));
+               //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__)->debugOutput('dataArray=' . print_r($dataArray, TRUE));
                assert(count($dataArray) == 2);
 
                // Left part is the actual block, right one the back-buffer data
index 1ceda76..d16068d 100644 (file)
@@ -181,7 +181,7 @@ class BaseFileStack extends BaseStacker {
                        $current = $this->getIteratorInstance()->current();
 
                        // Simply output it
-                       self::createDebugInstance(__CLASS__)->debugOutput(sprintf('[%s:%d:] current=%s', __METHOD__, __LINE__, print_r($current, TRUE)));
+                       self::createDebugInstance(__CLASS__)->debugOutput(sprintf('[%s:%d:] current(%s)=%s', __METHOD__, __LINE__, strlen($current), print_r($current, TRUE)));
                } // END - while
 
                //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__)->debugOutput(sprintf('[%s:%d:] EXIT!', __METHOD__, __LINE__));