Example #1
0
File: question.go Project: h8liu/d8
func (self *Question) unpack(in *bytes.Reader, p []byte) error {
	d, e := domain.Unpack(in, p)
	if e != nil {
		return e
	}
	self.Domain = d

	return self.unpackFlags(in)
}
Example #2
0
File: rr.go Project: h8liu/d8
func (self *RR) unpack(in *bytes.Reader, p []byte) error {
	var e error

	self.Domain, e = domain.Unpack(in, p)
	if e != nil {
		return e
	}

	if e = self.unpackFlags(in); e != nil {
		return e
	}

	return self.unpackRdata(in, p)
}
Example #3
0
File: domain.go Project: h8liu/d8
func unpackDomain(in *bytes.Reader, n uint16,
	p []byte) (*domain.Domain, error) {
	if n == 0 {
		return nil, errors.New("zero domain len")
	}

	was := in.Len()
	d, e := domain.Unpack(in, p)
	now := in.Len()
	if was-now != int(n) {
		return nil, fmt.Errorf("domain length expect %d, actual %d",
			n, was-now)
	}

	return d, e
}