From f7973e6b4bf7a7dccbb46e6c07d47da929ba74af Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Jun 30 2007 21:05:52 +0000 Subject: - Don't crash when reaching level 5 (and 10, 15, etc) (bz 246347) --- diff --git a/arrows-level-5.patch b/arrows-level-5.patch new file mode 100644 index 0000000..f35b4b5 --- /dev/null +++ b/arrows-level-5.patch @@ -0,0 +1,41 @@ +diff -ur arrows-0.6/game.c arrows-0.6.new/game.c +--- arrows-0.6/game.c 2004-01-12 16:00:46.000000000 +0100 ++++ arrows-0.6.new/game.c 2007-06-30 23:08:05.000000000 +0200 +@@ -31,6 +31,8 @@ + #include + #include + #include ++#include ++#include + #include "arrows.h" + #include "xpm.h" + +@@ -487,13 +489,24 @@ + int i,j; + if (!(levno%5)) { + FILE *stream; +- char nm[9]; +- strcpy(nm, "arrfl."); +- nm[6] = ((char) ((levno/5)+48)); +- nm[7] = '\0'; ++ char nm[256]; ++ int no = levno/5; ++ if (no > 5) no = 5; ++ snprintf(nm, sizeof(nm), "/usr/share/arrows/arrfl.%d", no); + if ((stream = fopen(nm, "rb")) != NULL) { + fread(&initlevel, sizeof(initlevel), 1, stream); + fclose(stream); ++#if __BYTE_ORDER != __LITTLE_ENDIAN ++ for (i=0; i<33; i++) for (j=0; j<21; j++) ++ initlevel.arrows[i][j] = ++ bswap_32(initlevel.arrows[i][j]); ++ ++ initlevel.s_dotx = bswap_32(initlevel.s_dotx); ++ initlevel.s_doty = bswap_32(initlevel.s_doty); ++ initlevel.objx = bswap_32(initlevel.objx); ++ initlevel.objy = bswap_32(initlevel.objy); ++ initlevel.levdelay = bswap_32(initlevel.levdelay); ++#endif + clearviewport(); + level = initlevel; + display_field(); diff --git a/arrows.spec b/arrows.spec index 90e9e7a..b223b7d 100644 --- a/arrows.spec +++ b/arrows.spec @@ -1,6 +1,6 @@ Name: arrows Version: 0.6 -Release: 2%{?dist} +Release: 4%{?dist} Summary: Neat little maze game Group: Amusements/Games License: GPL @@ -8,6 +8,7 @@ URL: http://noreason.ca/?file=software Source0: http://noreason.ca/data/arrows-%{version}.tar.gz Source1: arrows.desktop Source2: arrows.png +Patch0: arrows-level-5.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: gtk2-devel desktop-file-utils Requires: hicolor-icon-theme @@ -20,17 +21,20 @@ to collect the green things. %prep %setup -q +%patch0 -p1 make clean %build -make %{?_smp_mflags} +make %{?_smp_mflags} CCOPTS="$RPM_OPT_FLAGS" %install rm -rf $RPM_BUILD_ROOT mkdir -p $RPM_BUILD_ROOT%{_bindir} +mkdir -p $RPM_BUILD_ROOT%{_datadir}/%{name} install -m 755 %{name} $RPM_BUILD_ROOT%{_bindir} +install -m 644 arrfl.? $RPM_BUILD_ROOT%{_datadir}/%{name} # below is the desktop file and icon stuff. mkdir -p $RPM_BUILD_ROOT%{_datadir}/applications @@ -48,26 +52,29 @@ rm -rf $RPM_BUILD_ROOT %post touch --no-create %{_datadir}/icons/hicolor || : -if [ -x %{_bindir}/gtk-update-icon-cache ]; then - %{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || : -fi +%{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || : %postun touch --no-create %{_datadir}/icons/hicolor || : -if [ -x %{_bindir}/gtk-update-icon-cache ]; then - %{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || : -fi +%{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || : %files %defattr(-,root,root,-) %doc LICENSE README %{_bindir}/%{name} +%{_datadir}/%{name} %{_datadir}/applications/fedora-%{name}.desktop %{_datadir}/icons/hicolor/24x24/apps/%{name}.png %changelog +* Sat Jun 30 2007 Hans de Goede 0.6-4 +- Don't crash when reaching level 5 (and 10, 15, etc) (bz 246347) + +* Sat Nov 25 2006 Hans de Goede 0.6-3 +- Honor $RPM_OPT_FLAGS (bz 225098) + * Sat Nov 25 2006 Hans de Goede 0.6-2 - Add Requires hicolor-icon-theme, drop GNOME from desktop catagories (bz 217239)