Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 24137 | Differences between
and this patch

Collapse All | Expand All

(-)xmms-1.2.10/xmms/playlist.c.orig (-1 / +13 lines)
Lines 563-569 Link Here
563
		/* If there are entries */
563
		/* If there are entries */
564
		if (g_list_length(skinlist)) {
564
		if (g_list_length(skinlist)) {
565
			/* Get a random value to select the skin to use */
565
			/* Get a random value to select the skin to use */
566
			int randval = random() % (g_list_length(skinlist) + 1);
566
#if defined(sun)
567
			int randval = (gint)(random() / (INT_MAX + 1.0) * (g_list_length(skinlist) + 1));
568
#else
569
			int randval = (gint)(random() / (RAND_MAX + 1.0) * (g_list_length(skinlist) + 1));
570
#endif
567
			/* If the random value is 0, use the default skin */
571
			/* If the random value is 0, use the default skin */
568
			/* Otherwise subtract 1 from the random value and */
572
			/* Otherwise subtract 1 from the random value and */
569
			/* select the skin */
573
			/* select the skin */
Lines 1664-1677 Link Here
1664
	for (node = list, i = 0; i < len; node = g_list_next(node), i++)
1668
	for (node = list, i = 0; i < len; node = g_list_next(node), i++)
1665
		ptrs[i] = node;
1669
		ptrs[i] = node;
1666
1670
1671
#if defined(sun)
1672
	j = (int)(random() / (INT_MAX + 1.0) * len); 
1673
#else
1667
	j = (int)(random() / (RAND_MAX + 1.0) * len); 
1674
	j = (int)(random() / (RAND_MAX + 1.0) * len); 
1675
#endif
1668
	list = ptrs[j];
1676
	list = ptrs[j];
1669
	ptrs[j]->next = NULL;
1677
	ptrs[j]->next = NULL;
1670
	ptrs[j] = ptrs[0];
1678
	ptrs[j] = ptrs[0];
1671
1679
1672
	for (i = 1; i < len; i++)
1680
	for (i = 1; i < len; i++)
1673
	{
1681
	{
1682
#if defined(sun)
1683
		j = (int)(random() / (INT_MAX + 1.0) * (len - i));
1684
#else
1674
		j = (int)(random() / (RAND_MAX + 1.0) * (len - i));
1685
		j = (int)(random() / (RAND_MAX + 1.0) * (len - i));
1686
#endif
1675
		list->prev = ptrs[i + j];
1687
		list->prev = ptrs[i + j];
1676
		ptrs[i + j]->next = list;
1688
		ptrs[i + j]->next = list;
1677
		list = ptrs[i + j];
1689
		list = ptrs[i + j];

Return to bug 24137