mirror of
https://github.com/golang/go
synced 2024-11-26 20:41:24 -07:00
encoding/xml: wrap charsetReader errors
This change wraps the errors from the CharsetReader function so the caller can distinguish different error conditions.
Context: I have an XML file with an unknown encoding which I like to handle separately. I like to use the CharsetReader for this but the error type has not been forwarded.
Change-Id: I6739a0dee04ec376cd20536be2806ce7f50c5213
GitHub-Last-Rev: ada9dd510f
GitHub-Pull-Request: golang/go#60199
Reviewed-on: https://go-review.googlesource.com/c/go/+/494897
Reviewed-by: Heschi Kreinick <heschi@google.com>
Run-TryBot: Ian Lance Taylor <iant@google.com>
Auto-Submit: Ian Lance Taylor <iant@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@google.com>
Run-TryBot: Ian Lance Taylor <iant@golang.org>
This commit is contained in:
parent
865179164e
commit
6a675b9a7c
@ -262,6 +262,9 @@ func NewTokenDecoder(t TokenReader) *Decoder {
|
||||
// or EOF before all expected end elements,
|
||||
// it will return an error.
|
||||
//
|
||||
// If CharsetReader is called and returns an error,
|
||||
// the error is wrapped and returned.
|
||||
//
|
||||
// Token implements XML name spaces as described by
|
||||
// https://www.w3.org/TR/REC-xml-names/. Each of the
|
||||
// Name structures contained in the Token has the Space
|
||||
@ -634,7 +637,7 @@ func (d *Decoder) rawToken() (Token, error) {
|
||||
}
|
||||
newr, err := d.CharsetReader(enc, d.r.(io.Reader))
|
||||
if err != nil {
|
||||
d.err = fmt.Errorf("xml: opening charset %q: %v", enc, err)
|
||||
d.err = fmt.Errorf("xml: opening charset %q: %w", enc, err)
|
||||
return nil, d.err
|
||||
}
|
||||
if newr == nil {
|
||||
|
Loading…
Reference in New Issue
Block a user