make them return booleans
This commit is contained in:
parent
1a90efb5c4
commit
a20a5a9b06
24
rawmsg.go
24
rawmsg.go
|
@ -7,31 +7,49 @@ package dns
|
||||||
// These raw* functions do not use reflection, they directly set the values
|
// These raw* functions do not use reflection, they directly set the values
|
||||||
// in the buffer. There are faster than their reflection counterparts.
|
// in the buffer. There are faster than their reflection counterparts.
|
||||||
|
|
||||||
// TODO: make them all return booleans
|
|
||||||
|
|
||||||
// RawSetId sets the message id in buf.
|
// RawSetId sets the message id in buf.
|
||||||
func rawSetId(msg []byte, i uint16) {
|
func rawSetId(msg []byte, i uint16) bool {
|
||||||
|
if len(msg) < 2 {
|
||||||
|
return false
|
||||||
|
}
|
||||||
msg[0], msg[1] = packUint16(i)
|
msg[0], msg[1] = packUint16(i)
|
||||||
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
// rawSetQuestionLen sets the lenght of the question section.
|
// rawSetQuestionLen sets the lenght of the question section.
|
||||||
func rawSetQuestionLen(msg []byte, i uint16) {
|
func rawSetQuestionLen(msg []byte, i uint16) {
|
||||||
|
if len(msg) < 6 {
|
||||||
|
return false
|
||||||
|
}
|
||||||
msg[4], msg[5] = packUint16(i)
|
msg[4], msg[5] = packUint16(i)
|
||||||
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
// rawSetAnswerLen sets the lenght of the answer section.
|
// rawSetAnswerLen sets the lenght of the answer section.
|
||||||
func rawSetAnswerLen(msg []byte, i uint16) {
|
func rawSetAnswerLen(msg []byte, i uint16) {
|
||||||
|
if len(msg) < 8 {
|
||||||
|
return false
|
||||||
|
}
|
||||||
msg[6], msg[7] = packUint16(i)
|
msg[6], msg[7] = packUint16(i)
|
||||||
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
// rawSetsNsLen sets the lenght of the authority section.
|
// rawSetsNsLen sets the lenght of the authority section.
|
||||||
func rawSetNsLen(msg []byte, i uint16) {
|
func rawSetNsLen(msg []byte, i uint16) {
|
||||||
|
if len(msg) < 10 {
|
||||||
|
return false
|
||||||
|
}
|
||||||
msg[8], msg[9] = packUint16(i)
|
msg[8], msg[9] = packUint16(i)
|
||||||
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
// rawSetExtraLen sets the lenght of the additional section.
|
// rawSetExtraLen sets the lenght of the additional section.
|
||||||
func rawSetExtraLen(msg []byte, i uint16) {
|
func rawSetExtraLen(msg []byte, i uint16) {
|
||||||
|
if len(msg) < 12 {
|
||||||
|
return false
|
||||||
|
}
|
||||||
msg[10], msg[11] = packUint16(i)
|
msg[10], msg[11] = packUint16(i)
|
||||||
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
// rawSetRdlength sets the rdlength in the header of
|
// rawSetRdlength sets the rdlength in the header of
|
||||||
|
|
Loading…
Reference in New Issue