/* If possible, encode this offset as a repeated offset. */
if (match_offset == queue->R0) {
/* If possible, encode this offset as a repeated offset. */
if (match_offset == queue->R0) {
} else if (match_offset == queue->R1) {
swap(queue->R0, queue->R1);
} else if (match_offset == queue->R1) {
swap(queue->R0, queue->R1);
} else if (match_offset == queue->R2) {
swap(queue->R0, queue->R2);
} else if (match_offset == queue->R2) {
swap(queue->R0, queue->R2);
} else {
/* Not a repeated offset. */
/* offsets of 0, 1, and 2 are reserved for the repeated offset
* codes, so non-repeated offsets must be encoded as 3+. The
* minimum offset is 1, so encode the offsets offset by 2. */
} else {
/* Not a repeated offset. */
/* offsets of 0, 1, and 2 are reserved for the repeated offset
* codes, so non-repeated offsets must be encoded as 3+. The
* minimum offset is 1, so encode the offsets offset by 2. */