Don't forget to subtract the amount of what's already read from the
total length.