long readVarInt() {
byte b;
long res = 0;
for (b = readByte(); b & 0x80; b = readByte()) {
res = (res | (b & 0x7F)) << 8;
}
return res | b;
}
string readString() {
long len = readVarInt();
if (len < 0 || len > 100000) {
std::stringstream e;
e << "Requested reading a string of length " << len;
throw e.str();
}
char buf[len];
len = fread(buf, 1, len, data->file);
return string(buf, len);
}
Comments
0 B
|👍
/👎