diff --git a/core/queue.c b/core/queue.c index 39848f75..0a1b4afb 100644 --- a/core/queue.c +++ b/core/queue.c @@ -222,7 +222,7 @@ struct track *queue_next(struct queue *queue) if (size == 1) _q_iter_set(&queue->q_tracks, &queue->q_cur, 0); else if (queue_has_flag(queue, Q_RANDOM)) { - pos = random_range(1, (size < 15) ? size : size / 3); + pos = g_random_int_range(1, (size < 15) ? size : size / 3); pos += queue->q_cur.it_pos; _q_iter_set(&queue->q_tracks, &queue->q_cur, pos % size); } else { diff --git a/tests/core/queue.c b/tests/core/queue.c index afb87741..dbcb2eef 100644 --- a/tests/core/queue.c +++ b/tests/core/queue.c @@ -298,7 +298,7 @@ static void test_rand_select() unsigned int i; struct queue q; - random_seed(0); + g_random_set_seed(0); queue_init(&q, Q_ENABLED | Q_RANDOM, &test_ops); /* Call next() on an empty queue. */ @@ -318,56 +318,56 @@ static void test_rand_select() * [val]: The value picked by q.next(). */ - /* rand() = 2, q = { <>, 1, [2], 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13 } */ - test_equal(queue_next(&q)->tr_track, 2); + /* rand() = 9, q = { <>, 1, 2, 3, 4, 5, 6, 7, 8, [9], 10, 11, 12, 13 } */ + test_equal(queue_next(&q)->tr_track, 9); test_equal(queue_size(&q), 12); - /* select = 6, q = { <1>, 3, 4, 5, 6, 7, (8), 9, 10, 11, 12, 13 } */ - test_equal(queue_selected(&q, 6)->tr_track, 8); + /* select = 6, q = { 1, 2, 3, 4, 5, 6, (7), <8>, 10, 11, 12, 13 } */ + test_equal(queue_selected(&q, 6)->tr_track, 7); test_equal(queue_size(&q), 11); - /* rand() = 2, q = { 1, 3, 4, 5, 6, <7>, 9, 10, [11], 12, 13 } */ - test_equal(queue_next(&q)->tr_track, 11); + /* rand() = 10, q = { 1, 2, 3, 4, [5], <6>, 8, 10, 11, 12, 13 } */ + test_equal(queue_next(&q)->tr_track, 5); test_equal(queue_size(&q), 10); - /* select = 7, q = { 1, 3, 4, 5, 6, 7, 9, (<10>), 12, 13 } */ - test_equal(queue_selected(&q, 7)->tr_track, 10); + /* select = 7, q = { 1, 2, 3, <4>, 6, 8, 10, (11), 12, 13 } */ + test_equal(queue_selected(&q, 7)->tr_track, 11); test_equal(queue_size(&q), 9); - /* rand() = 4, q = { 1, [3], 4, 5, 6, 7, <9>, 12, 13 } */ - test_equal(queue_next(&q)->tr_track, 3); + /* rand() = 6, q = { 1, 2, 3, [4], 6, 8, <10>, 12, 13 } */ + test_equal(queue_next(&q)->tr_track, 4); test_equal(queue_size(&q), 8); - /* select = 2, q = { <1>, 4, (5), 6, 7, 9, 12, 13 } */ - test_equal(queue_selected(&q, 2)->tr_track, 5); + /* select = 2, q = { 1, 2, (<3>), 6, 8, 10, 12, 13 } */ + test_equal(queue_selected(&q, 2)->tr_track, 3); test_equal(queue_size(&q), 7); - /* rand() = 5, q = { 1, <4>, 6, 7, 9, 12, [13] } */ - test_equal(queue_next(&q)->tr_track, 13); + /* rand() = 1, q = { 1, <2>, [6], 8, 10, 12, 13 } */ + test_equal(queue_next(&q)->tr_track, 6); test_equal(queue_size(&q), 6); - /* select = 1, q = { 1, (4), 6, 7, 9, <12> } */ - test_equal(queue_selected(&q, 1)->tr_track, 4); + /* select = 1, q = { 1, (<2>), 8, 10, 12, 13 } */ + test_equal(queue_selected(&q, 1)->tr_track, 2); test_equal(queue_size(&q), 5); - /* rand() = 2, q = { <1>, 6, [7], 9, 12 } */ - test_equal(queue_next(&q)->tr_track, 7); + /* rand() = 4, q = { <1>, 8, 10, 12, [13] } */ + test_equal(queue_next(&q)->tr_track, 13); test_equal(queue_size(&q), 4); - /* rand() = 1, q = { 1, <6>, [9], 12 } */ - test_equal(queue_next(&q)->tr_track, 9); + /* rand() = 1, q = { [1], 8, 10, <12> } */ + test_equal(queue_next(&q)->tr_track, 1); test_equal(queue_size(&q), 3); - /* select = 1, q = { 1, (<6>), 12 } */ - test_equal(queue_selected(&q, 1)->tr_track, 6); + /* select = 1, q = { <>, 8, (10), 12 } */ + test_equal(queue_selected(&q, 1)->tr_track, 10); test_equal(queue_size(&q), 2); - /* rand() = 1, q = { <1>, [12] } */ + /* rand() = 1, q = { <8>, [12] } */ test_equal(queue_next(&q)->tr_track, 12); test_equal(queue_size(&q), 1); - /* select = 0, q = { <1> } */ - test_equal(queue_selected(&q, 0)->tr_track, 1); + /* select = 0, q = { (<8>) } */ + test_equal(queue_selected(&q, 0)->tr_track, 8); test_equal(queue_size(&q), 0); /* q = { } */