comparison rust/hg-core/src/revlog/mod.rs @ 50507:d1cab48354bc

rust: in zstd decompression, avoid a useless vec initialization
author Arseniy Alekseyev <aalekseyev@janestreet.com>
date Thu, 18 May 2023 17:25:18 +0100
parents 74d8a1b03960
children 39ed7b2953bb
comparison
equal deleted inserted replaced
50506:74d8a1b03960 50507:d1cab48354bc
601 zstd::stream::copy_decode(self.bytes, &mut buf) 601 zstd::stream::copy_decode(self.bytes, &mut buf)
602 .map_err(|e| corrupted(e.to_string()))?; 602 .map_err(|e| corrupted(e.to_string()))?;
603 Ok(buf) 603 Ok(buf)
604 } else { 604 } else {
605 let cap = self.uncompressed_len.max(0) as usize; 605 let cap = self.uncompressed_len.max(0) as usize;
606 let mut buf = vec![0; cap]; 606 let mut buf = Vec::with_capacity(cap);
607 let len = zstd_decompress_to_buffer(self.bytes, &mut buf) 607 let len = zstd_decompress_to_buffer(self.bytes, &mut buf)
608 .map_err(|e| corrupted(e.to_string()))?; 608 .map_err(|e| corrupted(e.to_string()))?;
609 if len != self.uncompressed_len as usize { 609 if len != self.uncompressed_len as usize {
610 Err(corrupted("uncompressed length does not match")) 610 Err(corrupted("uncompressed length does not match"))
611 } else { 611 } else {