diff options
Diffstat (limited to 'decode_scan.go')
-rw-r--r-- | decode_scan.go | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/decode_scan.go b/decode_scan.go index fb8a6ec..eee61fc 100644 --- a/decode_scan.go +++ b/decode_scan.go @@ -28,7 +28,7 @@ type runeTypeScanner interface { // runeTypeScannerImpl ///////////////////////////////////////////////////////////////////////////// type runeTypeScannerImpl struct { - inner io.RuneReader + inner io.RuneScanner initialized bool @@ -73,9 +73,7 @@ func (sc *runeTypeScannerImpl) ReadRuneType() (rune, int, RuneType, error) { case sc.stuck: // do nothing case sc.repeat: - if _, ok := sc.inner.(io.RuneScanner); ok { - _, _, _ = sc.inner.ReadRune() - } + _, _, _ = sc.inner.ReadRune() default: var err error sc.rRune, sc.rSize, err = sc.inner.ReadRune() @@ -138,9 +136,7 @@ func (sc *runeTypeScannerImpl) UnreadRune() error { return ErrInvalidUnreadRune } sc.repeat = true - if rs, ok := sc.inner.(io.RuneScanner); ok { - _ = rs.UnreadRune() - } + _ = sc.inner.UnreadRune() return nil } |