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');
}
}
+ /**
+ * @param string $string
+ * @return int
+ */
function strlen($string) {
if ($this->is_overloaded) {
return mb_strlen($string, 'ascii');
}
}
+ /**
+ * @param string $string
+ * @param int $chunk_size
+ * @return array
+ */
function str_split($string, $chunk_size) {
if (!function_exists('str_split')) {
$length = $this->strlen($string);
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, '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;
$this->_pos = 0;
}
-
+ /**
+ * @param string $bytes
+ * @return string
+ */
function read($bytes) {
$data = $this->substr($this->_str, $this->_pos, $bytes);
$this->_pos += $bytes;
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);