Mercurial > hg
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 { |