Skip to content

Commit 62d06cc

Browse files
authored
Escape field tags (#379)
Fixes #266
1 parent 1de3898 commit 62d06cc

File tree

3 files changed

+3
-2
lines changed

3 files changed

+3
-2
lines changed

_generated/def.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ type X struct {
3131
Others [][32]int32 // should compile to len(x.Others)*32*msgp.Int32Size
3232
Matrix [][]int32 // should not optimize
3333
ManyFixed []Fixed
34+
WeirdTag string `msg:"\x0b"`
3435
}
3536

3637
// test fixed-size struct

gen/decode.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ func (d *decodeGen) structAsMap(s *Struct) {
128128
d.p.print("\nswitch msgp.UnsafeString(field) {")
129129
for i := range s.Fields {
130130
d.ctx.PushString(s.Fields[i].FieldName)
131-
d.p.printf("\ncase \"%s\":", s.Fields[i].FieldTag)
131+
d.p.printf("\ncase %q:", s.Fields[i].FieldTag)
132132
fieldElem := s.Fields[i].FieldElem
133133
anField := s.Fields[i].HasTagPart("allownil") && fieldElem.AllowNil()
134134
if anField {

gen/unmarshal.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@ func (u *unmarshalGen) mapstruct(s *Struct) {
127127
if !u.p.ok() {
128128
return
129129
}
130-
u.p.printf("\ncase \"%s\":", s.Fields[i].FieldTag)
130+
u.p.printf("\ncase %q:", s.Fields[i].FieldTag)
131131
u.ctx.PushString(s.Fields[i].FieldName)
132132

133133
fieldElem := s.Fields[i].FieldElem

0 commit comments

Comments
 (0)