static public long unpackLong(DataInput is) throws IOException {
  long result=0;
  for (int offset=0; offset < 64; offset+=7) {
    long b=is.readUnsignedByte();
    result|=(b & 0x7F) << offset;
    if ((b & 0x80) == 0) {
      return result;
    }
  }
  throw new Error("Malformed long.");
}

static public long unpackLong ( DataInput is ) throws IOException { long result = 0 ; for ( int offset = 0 ; offset < 64 ; offset += 7 ) { long b = is . readUnsignedByte ( ) ; result |= ( b & 0x7F ) << offset ; if ( ( b & 0x80 ) == 0 ) { return result ; } } throw new Error ( "Malformed long." ) ; }
unpack positive long value from the input stream .
