Better error message that helps issue #49 .
This commit is contained in:
@ -23,7 +23,7 @@ func main() {
|
|||||||
args := flag.Args()
|
args := flag.Args()
|
||||||
|
|
||||||
var o string
|
var o string
|
||||||
o = "."// output dir
|
o = "." // output dir
|
||||||
if len(args) < 2 {
|
if len(args) < 2 {
|
||||||
usage()
|
usage()
|
||||||
}
|
}
|
||||||
@ -44,7 +44,7 @@ func main() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func usage() {
|
func usage() {
|
||||||
_, _ = fmt.Fprintf(os.Stderr, "usage: %s [-x] [-r] r.<X>.<Z>.mc{a,c}\n", flag.Arg(0))
|
_, _ = fmt.Fprintf(os.Stderr, "usage: %s [-x] [-r] r.<X>.<Z>.mc{a,c}\n", os.Args[0])
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -32,7 +32,7 @@ func (d *Decoder) Decode(v interface{}) error {
|
|||||||
|
|
||||||
err = d.unmarshal(val.Elem(), tagType, tagName)
|
err = d.unmarshal(val.Elem(), tagType, tagName)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("nbt: %w", err)
|
return fmt.Errorf("nbt: fail to decode tag %q: %w", tagName, err)
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
@ -304,7 +304,7 @@ func (d *Decoder) unmarshal(val reflect.Value, tagType byte, tagName string) err
|
|||||||
if field != -1 {
|
if field != -1 {
|
||||||
err = d.unmarshal(val.Field(field), tt, tn)
|
err = d.unmarshal(val.Field(field), tt, tn)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return fmt.Errorf("fail to decode tag %q: %w", tn, err)
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if err := d.rawRead(tt); err != nil {
|
if err := d.rawRead(tt); err != nil {
|
||||||
@ -329,7 +329,7 @@ func (d *Decoder) unmarshal(val reflect.Value, tagType byte, tagName string) err
|
|||||||
}
|
}
|
||||||
v := reflect.New(val.Type().Elem())
|
v := reflect.New(val.Type().Elem())
|
||||||
if err = d.unmarshal(v.Elem(), tt, tn); err != nil {
|
if err = d.unmarshal(v.Elem(), tt, tn); err != nil {
|
||||||
return err
|
return fmt.Errorf("fail to decode tag %q: %w", tn, err)
|
||||||
}
|
}
|
||||||
val.SetMapIndex(reflect.ValueOf(tn), v.Elem())
|
val.SetMapIndex(reflect.ValueOf(tn), v.Elem())
|
||||||
}
|
}
|
||||||
@ -345,7 +345,7 @@ func (d *Decoder) unmarshal(val reflect.Value, tagType byte, tagName string) err
|
|||||||
}
|
}
|
||||||
var value interface{}
|
var value interface{}
|
||||||
if err = d.unmarshal(reflect.ValueOf(&value).Elem(), tt, tn); err != nil {
|
if err = d.unmarshal(reflect.ValueOf(&value).Elem(), tt, tn); err != nil {
|
||||||
return err
|
return fmt.Errorf("fail to decode tag %q: %w", tn, err)
|
||||||
}
|
}
|
||||||
buf[tn] = value
|
buf[tn] = value
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user