Factor out the duplicate code from bufadvance in rebuffer_handle()