From d784b60aaaf704755b32723acc273162edcd46f1 Mon Sep 17 00:00:00 2001 From: Andy Vandijck Date: Sat, 12 Jul 2025 13:11:59 +0200 Subject: [PATCH] Fix BZ2 size Fix BZ2 size --- src/core/fex/fex/BZ2_Inflater.cpp | 1 + src/core/fex/fex/BZ2_Reader.cpp | 6 ++++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/core/fex/fex/BZ2_Inflater.cpp b/src/core/fex/fex/BZ2_Inflater.cpp index 40def196..503299eb 100644 --- a/src/core/fex/fex/BZ2_Inflater.cpp +++ b/src/core/fex/fex/BZ2_Inflater.cpp @@ -173,6 +173,7 @@ blargg_err_t BZ2_Inflater::read( void* out, int* count_io ) { unsigned int old_avail_in = (unsigned int)zbuf.avail_in; int err = BZ2_bzDecompress( &zbuf ); + if ( err == BZ_STREAM_END ) { remain = zbuf.avail_out; diff --git a/src/core/fex/fex/BZ2_Reader.cpp b/src/core/fex/fex/BZ2_Reader.cpp index 0303f61c..0f95c003 100644 --- a/src/core/fex/fex/BZ2_Reader.cpp +++ b/src/core/fex/fex/BZ2_Reader.cpp @@ -65,9 +65,11 @@ blargg_err_t BZ2_Reader::read_v( void* out, int count ) int actual = count; RETURN_ERR( inflater.read( out, &actual ) ); - if ( actual < count ) + if ( actual > count ) { + size_ = actual; set_remain(0); - + } + return blargg_ok; }