idrec: fix reading from limited streams

Signed-off-by: Simon Rozman <simon@rozman.si>
This commit is contained in:
Simon Rozman 2023-12-08 18:53:04 +01:00
parent 0ec86f6161
commit 6fc378ff61

View File

@ -520,7 +520,7 @@ namespace stdex {
{ {
stdex::stream::limiter limiter(stream, size, 0); stdex::stream::limiter limiter(stream, size, 0);
limiter >> r.data; limiter >> r.data;
if (!limiter.ok()) _Unlikely_ return stream; if (limiter.state() == stdex::stream::state_t::fail) _Unlikely_ return stream;
} }
size += padding<T_SIZE, ALIGN>(size); size += padding<T_SIZE, ALIGN>(size);
@ -549,7 +549,7 @@ namespace stdex {
{ {
stdex::stream::limiter limiter(stream, size, 0); stdex::stream::limiter limiter(stream, size, 0);
limiter >> r.data; limiter >> r.data;
if (!limiter.ok()) _Unlikely_ return stream; if (limiter.state() == stdex::stream::state_t::fail) _Unlikely_ return stream;
limiter.skip(limiter.read_limit); limiter.skip(limiter.read_limit);
} }
stream.skip(padding<T_SIZE, ALIGN>(size)); stream.skip(padding<T_SIZE, ALIGN>(size));