DeprecatedReader.Adapted: fix EndOfStream handling

This commit is contained in:
Kendall Condon 2025-07-28 19:13:22 -04:00 committed by Andrew Kelley
parent 147a852806
commit ecd3ea9bd2
3 changed files with 10 additions and 0 deletions

View File

@ -333,6 +333,7 @@ pub fn GenericReader(
a.err = err;
return error.ReadFailed;
};
if (n == 0) return error.EndOfStream;
w.advance(n);
return n;
}

View File

@ -397,6 +397,7 @@ pub const Adapter = struct {
a.err = err;
return error.ReadFailed;
};
if (n == 0) return error.EndOfStream;
w.advance(n);
return n;
}

View File

@ -180,3 +180,11 @@ test "GenericReader methods can return error.EndOfStream" {
fbs.reader().isBytes("foo"),
);
}
test "Adapted DeprecatedReader EndOfStream" {
var fbs: io.FixedBufferStream([]const u8) = .{ .buffer = &.{}, .pos = 0 };
const reader = fbs.reader();
var buf: [1]u8 = undefined;
var adapted = reader.adaptToNewApi(&buf);
try std.testing.expectError(error.EndOfStream, adapted.new_interface.takeByte());
}