diff --git a/lib/Encoding/AbstractEncoding.php b/lib/Encoding/AbstractEncoding.php index a0ebad7..93bc5e3 100644 --- a/lib/Encoding/AbstractEncoding.php +++ b/lib/Encoding/AbstractEncoding.php @@ -19,6 +19,8 @@ abstract class AbstractEncoding implements Encoding { public $posErr = 0; + abstract protected function seekBack(int $distance): int; + public function __construct(string $string, bool $fatal = false, bool $allowSurrogates = false) { $this->string = $string; $this->lenByte = strlen($string); diff --git a/lib/Encoding/SingleByteEncoding.php b/lib/Encoding/SingleByteEncoding.php index dc384d1..5629e20 100644 --- a/lib/Encoding/SingleByteEncoding.php +++ b/lib/Encoding/SingleByteEncoding.php @@ -70,6 +70,11 @@ abstract class SingleByteEncoding extends AbstractEncoding implements StatelessE } } + protected function seekBack(int $distance): int { + // stub: not used + return 0; + } + public function posByte(): int { return $this->posChar; } diff --git a/lib/Encoding/XUserDefined.php b/lib/Encoding/XUserDefined.php index 43b7cab..63c63db 100644 --- a/lib/Encoding/XUserDefined.php +++ b/lib/Encoding/XUserDefined.php @@ -77,6 +77,11 @@ class XUserDefined extends AbstractEncoding implements Encoding { } } + protected function seekBack(int $distance): int { + // stub: not used + return 0; + } + /** Returns the current byte position of the decoder */ public function posByte(): int { return $this->posChar;