Blob Blame History Raw
diff -u -p -r1.84 -r1.85
--- xmms/xmms/playlist.c	2004/03/21 16:41:56	1.84
+++ xmms/xmms/playlist.c	2004/04/12 19:06:58	1.85
@@ -1633,14 +1640,14 @@ static GList *playlist_shuffle_list(GLis
 	for (node = list, i = 0; i < len; node = g_list_next(node), i++)
 		ptrs[i] = node;
 
-	j = random() % len;
+	j = (int)(random() / (RAND_MAX + 1.0) * len); 
 	list = ptrs[j];
 	ptrs[j]->next = NULL;
 	ptrs[j] = ptrs[0];
 
 	for (i = 1; i < len; i++)
 	{
-		j = random() % (len - i);
+		j = (int)(random() / (RAND_MAX + 1.0) * (len - i));
 		list->prev = ptrs[i + j];
 		ptrs[i + j]->next = list;
 		list = ptrs[i + j];
diff -u -p -r1.88 -r1.89
--- xmms/xmms/playlist.c	2005/05/06 23:57:03	1.88
+++ xmms/xmms/playlist.c	2005/05/07 01:47:35	1.89
@@ -563,7 +563,7 @@ void playlist_play(void)
 		/* If there are entries */
 		if (g_list_length(skinlist)) {
 			/* Get a random value to select the skin to use */
-			int randval = random() % (g_list_length(skinlist) + 1);
+			int randval = (gint)(random() / (RAND_MAX + 1.0) * (g_list_length(skinlist) + 1));
 			/* If the random value is 0, use the default skin */
 			/* Otherwise subtract 1 from the random value and */
 			/* select the skin */