* Wed Apr 30 2008 -
[email protected]
- Add patch which fixes crash when pressing random.
- xmms1-01-rand.diff added
--- xmms-1.2.11/xmms/playlist.c 2007-11-16 23:51:30.000000000 +0200
+++ xmms-1.2.11.1/xmms/playlist.c 2008-04-30 05:24:49.627552191 +0300
@@ -1693,14 +1693,15 @@
for (node = list, i = 0; i < len; node = g_list_next(node), i++)
ptrs[i] = node;
- j = (int)(random() / (RAND_MAX + 1.0) * len);
- list = ptrs[j];
+ j = (int)((len-1) * (double) rand() / (double) RAND_MAX);
+
+ list = ptrs[j];
ptrs[j]->next = NULL;
ptrs[j] = ptrs[0];
for (i = 1; i < len; i++)
{
- j = (int)(random() / (RAND_MAX + 1.0) * (len - i));
+ j = (int)((len-i-1) * (double) rand() / (double) RAND_MAX);
list->prev = ptrs[i + j];
ptrs[i + j]->next = list;
list = ptrs[i + j];