* Wed Apr 30 2008 -
[email protected]
- Add patch which fixes crash when pressing random.
- xmms1-01-rand.diff added
--- a/SFExmms1.spec Tue Apr 29 20:27:43 2008 +0000
+++ b/SFExmms1.spec Wed Apr 30 17:47:47 2008 +0000
@@ -10,8 +10,10 @@
Summary: X Multimedia System
Version: 1.2.11
Source: http://www.xmms.org/files/1.2.x/xmms-%{version}.tar.bz2
+Patch1: xmms1-01-rand.diff
SUNW_BaseDir: %{_basedir}
BuildRoot: %{_tmppath}/%{name}-%{version}-build
+
%include default-depend.inc
Requires: SUNWGtku
Requires: SUNWGtkr
@@ -38,6 +40,7 @@
%prep
%setup -q -n xmms-%{version}
+%patch1 -p1 -b .patch01
%build
export CFLAGS="%optflags -fpic -I/usr/X11/include -I/usr/gnu/include -I/usr/gnu/include/sasl -I/usr/sfw/include -D__C99FEATURES__ -D__EXTENSIONS__ -DINSTALLPREFIX=\\\"%{_prefix}\\\""
@@ -91,5 +94,7 @@
%{_libdir}/xmms/Input/libmpg*
%changelog
+* Wed Apr 30 2008 - [email protected]
+- Add patch which fixes crash when pressing random.
* Sun Jan 20 2008 - [email protected]
- Initial spec.
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/xmms1-01-rand.diff Wed Apr 30 17:47:47 2008 +0000
@@ -0,0 +1,21 @@
+--- 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];