static inline uint64_t read_vlq()

in src/logreader.c [40:54]


static inline uint64_t read_vlq(uint8_t * array, uint64_t *position) {
  uint64_t res = 0;
  uint64_t shift = 0;
  uint64_t tmp, tmp2;
  while (1) {
    tmp = array[(*position)++];
    tmp2 = tmp & 0x7f;
    if (tmp == tmp2) {
      return res | tmp << shift;
    }
    res |= tmp2 << shift;
    shift += 7;
  }
  return res;
}