From ce271f82f16ee89a18e7bfc9ed8eab7cbd6f37bc Mon Sep 17 00:00:00 2001 From: Joel Klinghed Date: Mon, 22 Sep 2025 23:38:21 +0200 Subject: Change io::Reader and company to return ReadError::Eof instead of 0. It's debatable if Eof should be considered an error or not. But it is pretty clear it generally is a special response that needs special handling, so easier to keep with the unexpected lot. Also keeps better at higher abstraction levels, such as the line reader. --- src/decompress_z.cc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/decompress_z.cc') diff --git a/src/decompress_z.cc b/src/decompress_z.cc index 491eff7..64f055c 100644 --- a/src/decompress_z.cc +++ b/src/decompress_z.cc @@ -39,7 +39,7 @@ class DecompressReader : public io::Reader { if (!initialized_) { if (in_eof_ && buffer_->empty()) - return 0; + return std::unexpected(io::ReadError::Eof); stream_.zalloc = Z_NULL; stream_.zfree = Z_NULL; @@ -89,8 +89,8 @@ class DecompressReader : public io::Reader { auto got = reader_->read(wptr, avail); if (got.has_value()) { buffer_->commit(got.value()); - if (got.value() == 0) - in_eof_ = true; + } else if (got.error() == io::ReadError::Eof) { + in_eof_ = true; } else { return got.error(); } -- cgit v1.3