Cleanups for Copy()
Docs and slight code formatting issues.
This commit is contained in:
parent
189f4a23fc
commit
a56060b558
7
msg.go
7
msg.go
|
@ -1545,30 +1545,27 @@ func (dns *Msg) Len() int {
|
||||||
return l
|
return l
|
||||||
}
|
}
|
||||||
|
|
||||||
// Create a deep-copy
|
// Copy returns a new *Msg which is a deep-copy of dns.
|
||||||
func (dns *Msg) Copy() *Msg {
|
func (dns *Msg) Copy() *Msg {
|
||||||
r1 := new(Msg)
|
r1 := new(Msg)
|
||||||
r1.MsgHdr = dns.MsgHdr
|
r1.MsgHdr = dns.MsgHdr
|
||||||
r1.Compress = dns.Compress
|
r1.Compress = dns.Compress
|
||||||
|
|
||||||
r1.Question = make([]Question, len(dns.Question))
|
r1.Question = make([]Question, len(dns.Question))
|
||||||
copy(r1.Question, dns.Question) // Question is an immutable value, ok to do a shallow-copy
|
copy(r1.Question, dns.Question) // TODO(miek): Question is an immutable value, ok to do a shallow-copy
|
||||||
|
|
||||||
r1.Answer = make([]RR, len(dns.Answer))
|
r1.Answer = make([]RR, len(dns.Answer))
|
||||||
for i := 0; i < len(dns.Answer); i++ {
|
for i := 0; i < len(dns.Answer); i++ {
|
||||||
r1.Answer[i] = dns.Answer[i].copy()
|
r1.Answer[i] = dns.Answer[i].copy()
|
||||||
}
|
}
|
||||||
|
|
||||||
r1.Ns = make([]RR, len(dns.Ns))
|
r1.Ns = make([]RR, len(dns.Ns))
|
||||||
for i := 0; i < len(dns.Ns); i++ {
|
for i := 0; i < len(dns.Ns); i++ {
|
||||||
r1.Ns[i] = dns.Ns[i].copy()
|
r1.Ns[i] = dns.Ns[i].copy()
|
||||||
}
|
}
|
||||||
|
|
||||||
r1.Extra = make([]RR, len(dns.Extra))
|
r1.Extra = make([]RR, len(dns.Extra))
|
||||||
for i := 0; i < len(dns.Extra); i++ {
|
for i := 0; i < len(dns.Extra); i++ {
|
||||||
r1.Extra[i] = dns.Extra[i].copy()
|
r1.Extra[i] = dns.Extra[i].copy()
|
||||||
}
|
}
|
||||||
|
|
||||||
return r1
|
return r1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue