Skip to main content

read_bytes

Function read_bytes 

Source
pub fn read_bytes(
    reader: &mut PsdReader<'_>,
    length: usize,
) -> ReadResult<Vec<u8>>
Expand description

Зеркало readBytes(reader, length).

Upstream при выходе за конец буфера выдаёт предупреждение (или бросает в strict), затем возвращает нулевой буфер нужной длины, частично заполненный доступными байтами (фикс для битых PSD). Защита: length > 100MB → throw.

Возвращает Vec<u8>, а не срез: в обычном случае это buffer[start..start+len] (как zero-copy под-Uint8Array в upstream), но ветка восстановления требует собственного буфера, поэтому для единообразия сигнатуры возвращаем владеющий Vec. Для zero-copy подреза есть отдельный read_bytes_slice.