code: func getvarint(pp *[]uint8) uint32 {
  	var p []uint8
  	var shift int
  	var v uint32
  	v = 0
  	p = []uint8(*pp)
  	for shift = 0; ; shift += 7 {
  		v |= uint32(p[0]&0x7F) << uint(shift)
  		tmp7 := p
  		p = p[1:]
  		if tmp7[0]&0x80 == 0 {
  			break
  		}
  	}
  	*pp = p
  	return v
  }
docs: // iteration over encoded pcdata tables.