rpms/arrows/F-7 arrows-level-5.patch,NONE,1.1 arrows.spec,1.2,1.3

Hans de Goede (jwrdegoede) fedora-extras-commits at redhat.com
Sat Jun 30 21:01:43 UTC 2007


Author: jwrdegoede

Update of /cvs/extras/rpms/arrows/F-7
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv4340

Modified Files:
	arrows.spec 
Added Files:
	arrows-level-5.patch 
Log Message:
* Sat Jun 30 2007 Hans de Goede <j.w.r.degoede at hhs.nl> 0.6-4
- Don't crash when reaching level 5 (and 10, 15, etc) (bz 246347)


arrows-level-5.patch:

--- NEW FILE arrows-level-5.patch ---
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 <string.h>
 #include <time.h>
 #include <ctype.h>
+#include <endian.h>
+#include <byteswap.h>
 #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();


Index: arrows.spec
===================================================================
RCS file: /cvs/extras/rpms/arrows/F-7/arrows.spec,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- arrows.spec	14 Feb 2007 11:55:36 -0000	1.2
+++ arrows.spec	30 Jun 2007 21:01:03 -0000	1.3
@@ -1,6 +1,6 @@
 Name:           arrows
 Version:        0.6
-Release:        3%{?dist}
+Release:        4%{?dist}
 Summary:        Neat little maze game
 Group:          Amusements/Games
 License:        GPL
@@ -8,6 +8,7 @@
 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,6 +21,7 @@
 
 %prep
 %setup -q
+%patch0 -p1
 make clean
 
 
@@ -30,7 +32,9 @@
 %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,26 @@
 
 %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 <j.w.r.degoede at hhs.nl> 0.6-4
+- Don't crash when reaching level 5 (and 10, 15, etc) (bz 246347)
+
 * Sat Nov 25 2006 Hans de Goede <j.w.r.degoede at hhs.nl> 0.6-3
 - Honor $RPM_OPT_FLAGS (bz 225098)
 




More information about the fedora-extras-commits mailing list