From e06096c624e3e843f5e783e4128ae59ad0b28d4e Mon Sep 17 00:00:00 2001 From: "J. King" Date: Fri, 25 Sep 2020 17:55:45 -0400 Subject: [PATCH] Ensure seekBack is defined --- lib/Encoding/AbstractEncoding.php | 2 ++ lib/Encoding/SingleByteEncoding.php | 5 +++++ lib/Encoding/XUserDefined.php | 5 +++++ 3 files changed, 12 insertions(+) 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;