static int readUnsignedVLQInt()

in src/main/java/com/spotify/sparkey/Util.java [183:218]


  static int readUnsignedVLQInt(InputStream input) throws IOException {
    int b = readByte(input);
    int b2 = b & 0x7f;
    if (b2 == b) {
      return b;
    }
    int value = b2 & 0x7f;

    b = readByte(input);
    b2 = b & 0x7f;
    if (b2 == b) {
      return value | b << 7;
    }
    value |= b2 << 7;

    b = readByte(input);
    b2 = b & 0x7f;
    if (b2 == b) {
      return value | b << 14;
    }
    value |= b2 << 14;

    b = readByte(input);
    b2 = b & 0x7f;
    if (b2 == b) {
      return value | b << 21;
    }
    value |= b2 << 21;

    b = readByte(input);
    b2 = b & 0x7f;
    if (b2 == b) {
      return value | b << 28;
    }
    throw new RuntimeException("Too long VLQ value");
  }