From c5f0ecbdd8df03807012d3d5534c31ca213839da Mon Sep 17 00:00:00 2001 From: Miek Gieben Date: Thu, 11 Oct 2012 12:58:43 +0200 Subject: [PATCH] in case of error do get the exact tag --- msg.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/msg.go b/msg.go index 74576b90..d41070bb 100644 --- a/msg.go +++ b/msg.go @@ -377,7 +377,7 @@ func packStructValue(val reflect.Value, msg []byte, off int, compression map[str case reflect.Slice: switch val.Type().Field(i).Tag { default: - return lenmsg, &Error{Name: val.Type().Field(i).Tag, Err: "bad tag packing slice"} + return lenmsg, &Error{Name: val.Type().Field(i).Tag.Get("dns"), Err: "bad tag packing slice"} case `dns:"domain-name"`: for j := 0; j < val.Field(i).Len(); j++ { element := val.Field(i).Index(j).String() @@ -550,7 +550,7 @@ func packStructValue(val reflect.Value, msg []byte, off int, compression map[str s := fv.String() switch val.Type().Field(i).Tag { default: - return lenmsg, &Error{Name: val.Type().Field(i).Tag, Err: "bad tag packing string"} + return lenmsg, &Error{Name: val.Type().Field(i).Tag.Get("dns"), Err: "bad tag packing string"} case `dns:"base64"`: b64, err := packBase64([]byte(s)) if err != nil { @@ -642,7 +642,7 @@ func unpackStructValue(val reflect.Value, msg []byte, off int) (off1 int, err er case reflect.Slice: switch val.Type().Field(i).Tag { default: - return lenmsg, &Error{Name: val.Type().Field(i).Tag("dns"), Err: "bad tag unpacking slice"} + return lenmsg, &Error{Name: val.Type().Field(i).Tag.Get("dns"), Err: "bad tag unpacking slice"} case `dns:"domain-name"`: // HIP record slice of name (or none) servers := make([]string, 0) @@ -849,7 +849,7 @@ func unpackStructValue(val reflect.Value, msg []byte, off int) (off1 int, err er var s string switch val.Type().Field(i).Tag { default: - return lenmsg, &Error{Name: val.Type().Field(i).Tag, Err: "bad tag unpacking string"} + return lenmsg, &Error{Name: val.Type().Field(i).Tag.Get("dns"), Err: "bad tag unpacking string"} case `dns:"hex"`: // Rest of the RR is hex encoded, network order an issue here? rdlength := int(val.FieldByName("Hdr").FieldByName("Rdlength").Uint())