diff options
Diffstat (limited to 'src/Queue.cxx')
-rw-r--r-- | src/Queue.cxx | 19 |
1 files changed, 7 insertions, 12 deletions
diff --git a/src/Queue.cxx b/src/Queue.cxx index 1b329e485..608cb1736 100644 --- a/src/Queue.cxx +++ b/src/Queue.cxx @@ -368,20 +368,15 @@ queue_sort_order_by_priority(struct queue *queue, unsigned start, unsigned end) queue); } -/** - * Shuffle the order of items in the specified range, ignoring their - * priorities. - */ -static void -queue_shuffle_order_range(struct queue *queue, unsigned start, unsigned end) +void +queue::ShuffleOrderRange(unsigned start, unsigned end) { - assert(queue != NULL); - assert(queue->random); + assert(random); assert(start <= end); - assert(end <= queue->length); + assert(end <= length); for (unsigned i = start; i < end; ++i) - queue->SwapOrders(i, g_rand_int_range(queue->rand, i, end)); + SwapOrders(i, g_rand_int_range(rand, i, end)); } /** @@ -412,14 +407,14 @@ queue::ShuffleOrderRangeWithPriority(unsigned start, unsigned end) if (priority != group_priority) { /* start of a new group - shuffle the one that has just ended */ - queue_shuffle_order_range(this, group_start, i); + ShuffleOrderRange(group_start, i); group_start = i; group_priority = priority; } } /* shuffle the last group */ - queue_shuffle_order_range(this, group_start, end); + ShuffleOrderRange(group_start, end); } void |