1
0
Fork 0
mirror of https://codeberg.org/demostf/parser.git synced 2026-06-03 10:14:06 +02:00

better varint

This commit is contained in:
Robin Appelman 2021-07-22 17:24:45 +02:00
commit d4a92c04bb

View file

@ -780,15 +780,12 @@ pub fn read_var_int(stream: &mut Stream) -> ReadResult<u32> {
}
pub fn write_var_int(mut int: u32, stream: &mut BitWriteStream<LittleEndian>) -> ReadResult<()> {
loop {
while int > 0x7F {
let byte: u8 = int as u8 & 0x7F;
byte.write_sized(stream, 7)?;
(byte | 0x80).write(stream)?;
int >>= 7;
(int > 0).write(stream)?;
if int == 0 {
return Ok(());
}
}
(int as u8).write(stream)
}
#[test]