From d462f64d6044349b0a4e3581cf2c97bbab7aec97 Mon Sep 17 00:00:00 2001 From: Michael Biebl Date: Mon, 23 Jan 2017 23:34:56 +0100 Subject: New upstream version 1.5.91 --- shared/nm-utils/nm-test-utils.h | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'shared/nm-utils') diff --git a/shared/nm-utils/nm-test-utils.h b/shared/nm-utils/nm-test-utils.h index 7e712dcd..7be7e254 100644 --- a/shared/nm-utils/nm-test-utils.h +++ b/shared/nm-utils/nm-test-utils.h @@ -832,6 +832,31 @@ nmtst_rand_perm (GRand *rand, void *dst, const void *src, gsize elmt_size, gsize return dst; } +inline static GSList * +nmtst_rand_perm_gslist (GRand *rand, GSList *list) +{ + GSList *result; + guint l; + + if (!rand) + rand = nmtst_get_rand (); + + /* no need for an efficient implementation :) */ + + result = 0; + for (l = g_slist_length (list); l > 0; l--) { + GSList *tmp; + + tmp = g_slist_nth (list, g_rand_int (rand) % l); + g_assert (tmp); + + list = g_slist_remove_link (list, tmp); + result = g_slist_concat (tmp, result); + } + g_assert (!list); + return result; +} + /*****************************************************************************/ inline static gboolean -- cgit 1.3.0-6-gf8a5