]> scripts.mit.edu Git - autoinstalls/wordpress.git/blobdiff - wp-includes/pomo/streams.php
WordPress 4.2
[autoinstalls/wordpress.git] / wp-includes / pomo / streams.php
index 8ac94c35d6184b3c3b62dffbd6ecbc99eee155d7..8e50ab4eac57914bbe1f6aa6de9492f087ca100b 100644 (file)
@@ -3,7 +3,7 @@
  * Classes, which help reading streams of data from files.
  * Based on the classes from Danilo Segan <danilo@kvota.net>
  *
- * @version $Id: streams.php 406 2010-02-07 11:10:24Z nbachiyski $
+ * @version $Id: streams.php 718 2012-10-31 00:32:02Z nbachiyski $
  * @package pomo
  * @subpackage streams
  */
@@ -40,7 +40,7 @@ class POMO_Reader {
                        return false;
                $endian_letter = ('big' == $this->endian)? 'N' : 'V';
                $int = unpack($endian_letter, $bytes);
-               return array_shift($int);
+               return reset( $int );
        }
 
        /**
@@ -58,7 +58,12 @@ class POMO_Reader {
                return unpack($endian_letter.$count, $bytes);
        }
 
-
+       /**
+        * @param string $string
+        * @param int    $start
+        * @param int    $length
+        * @return string
+        */
        function substr($string, $start, $length) {
                if ($this->is_overloaded) {
                        return mb_substr($string, $start, $length, 'ascii');
@@ -67,6 +72,10 @@ class POMO_Reader {
                }
        }
 
+       /**
+        * @param string $string
+        * @return int
+        */
        function strlen($string) {
                if ($this->is_overloaded) {
                        return mb_strlen($string, 'ascii');
@@ -75,6 +84,11 @@ class POMO_Reader {
                }
        }
 
+       /**
+        * @param string $string
+        * @param int    $chunk_size
+        * @return array
+        */
        function str_split($string, $chunk_size) {
                if (!function_exists('str_split')) {
                        $length = $this->strlen($string);
@@ -104,15 +118,26 @@ endif;
 
 if ( !class_exists( 'POMO_FileReader' ) ):
 class POMO_FileReader extends POMO_Reader {
+
+       /**
+        * @param string $filename
+        */
        function POMO_FileReader($filename) {
                parent::POMO_Reader();
-               $this->_f = fopen($filename, 'r');
+               $this->_f = fopen($filename, 'rb');
        }
 
+       /**
+        * @param int $bytes
+        */
        function read($bytes) {
                return fread($this->_f, $bytes);
        }
 
+       /**
+        * @param int $pos
+        * @return boolean
+        */
        function seekto($pos) {
                if ( -1 == fseek($this->_f, $pos, SEEK_SET)) {
                        return false;
@@ -157,7 +182,10 @@ class POMO_StringReader extends POMO_Reader {
                $this->_pos = 0;
        }
 
-
+       /**
+        * @param string $bytes
+        * @return string
+        */
        function read($bytes) {
                $data = $this->substr($this->_str, $this->_pos, $bytes);
                $this->_pos += $bytes;
@@ -165,6 +193,10 @@ class POMO_StringReader extends POMO_Reader {
                return $data;
        }
 
+       /**
+        * @param int $pos
+        * @return int
+        */
        function seekto($pos) {
                $this->_pos = $pos;
                if ($this->strlen($this->_str) < $this->_pos) $this->_pos = $this->strlen($this->_str);