diff options
Diffstat (limited to 'util/read_compressed.cc')
-rw-r--r-- | util/read_compressed.cc | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/util/read_compressed.cc b/util/read_compressed.cc index 71ef0e251..e1f4cd7e3 100644 --- a/util/read_compressed.cc +++ b/util/read_compressed.cc @@ -435,4 +435,15 @@ std::size_t ReadCompressed::Read(void *to, std::size_t amount) { return internal_->Read(to, amount, *this); } +std::size_t ReadCompressed::ReadOrEOF(void *const to_in, std::size_t amount) { + uint8_t *to = reinterpret_cast<uint8_t*>(to_in); + while (amount) { + std::size_t got = Read(to, amount); + if (!got) break; + to += got; + amount -= got; + } + return to - reinterpret_cast<uint8_t*>(to_in); +} + } // namespace util |