Skip to content

Commit 7aabf7e

Browse files
committed
feat: hide next function of decoder
1 parent 2d97e7f commit 7aabf7e

File tree

2 files changed

+8
-7
lines changed

2 files changed

+8
-7
lines changed

decode.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ var ErrElementOverflow = errors.New("ebml: element overflow")
5959
// DecodeHeader decodes the document header.
6060
func (d *Decoder) DecodeHeader() (*EBML, error) {
6161
for {
62-
el, _, err := d.Next()
62+
el, _, err := d.NextOf(RootEl, 0)
6363
if err != nil {
6464
return nil, err
6565
}
@@ -96,7 +96,7 @@ func (d *Decoder) DecodeHeader() (*EBML, error) {
9696
// an InvalidDecodeError.
9797
func (d *Decoder) DecodeBody(v interface{}) error {
9898
for {
99-
el, _, err := d.Next()
99+
el, _, err := d.NextOf(RootEl, 0)
100100
if err != nil {
101101
return err
102102
}

ebml.go

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -195,14 +195,13 @@ func (d *Decoder) SetVisitor(v Visitor) {
195195
d.visitor = v
196196
}
197197

198-
// Next reads the following element id and data size.
199-
// It must be called before Decode.
198+
// next reads the following element id and data size.
200199
//
201-
// When Next encounters an ErrInvalidVINTLength or the element has UnknownSchema,
200+
// When next encounters an ErrInvalidVINTLength or the element has UnknownSchema,
202201
// it could be caused by damaged data or garbage in the stream. It is up
203202
// to the caller to decide if they want to skip to the next element or
204203
// move the reader forward by seeking one byte using io.SeekCurrent whence.
205-
func (d *Decoder) Next() (el Element, n int, err error) {
204+
func (d *Decoder) next() (el Element, n int, err error) {
206205
el.ID, err = d.r.ReadElementID()
207206
if err != nil {
208207
return Element{}, n, err
@@ -226,6 +225,8 @@ func (d *Decoder) Next() (el Element, n int, err error) {
226225
return el, n, err
227226
}
228227

228+
var RootEl = Element{DataSize: -1}
229+
229230
// NextOf reads the following element id and data size
230231
// related to the given parent Element.
231232
//
@@ -244,7 +245,7 @@ func (d *Decoder) NextOf(parent Element, offset int64) (el Element, n int, err e
244245
el = *d.el
245246
d.el = nil
246247
} else {
247-
el, n, err = d.Next()
248+
el, n, err = d.next()
248249
if err != nil {
249250
return Element{}, n, err
250251
}

0 commit comments

Comments
 (0)