* Return error instead of panicking if reader buffer is inadequate * Simplify loop * Remove unnecessary mut * Simplify increment * Improve variable name * Simplify loop * Simplify loops * Improve documentation and simplify loop