Leave the `in_buffer.rpos++` where it was. `rv` is the "loop iterator", `in_buffer.rpos++` is part of what the loop body "does". Sorry for the C idiom nitpick