respect read length when specified