summaryrefslogtreecommitdiff
path: root/games/dungeon
diff options
context:
space:
mode:
authorpgoyette <pgoyette>2009-12-10 22:00:24 +0000
committerpgoyette <pgoyette>2009-12-10 22:00:24 +0000
commit03fe3834b764dd0a83292a6eda18a5d587ef5eab (patch)
treef42800573ea19714222ff16da834bc3fbc40bda7 /games/dungeon
parent06f663d04f66a7b6d5e1f59027ce71dd4f3e379c (diff)
downloadpkgsrc-03fe3834b764dd0a83292a6eda18a5d587ef5eab.tar.gz
Fix a patch that was erroneously fed upstream. This should avoid some
unexpected SIGSEGV crashes.
Diffstat (limited to 'games/dungeon')
-rw-r--r--games/dungeon/distinfo3
-rw-r--r--games/dungeon/patches/patch-ac52
2 files changed, 54 insertions, 1 deletions
diff --git a/games/dungeon/distinfo b/games/dungeon/distinfo
index 773d533e470..b300dcaa658 100644
--- a/games/dungeon/distinfo
+++ b/games/dungeon/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.1 2009/11/28 20:25:40 pgoyette Exp $
+$NetBSD: distinfo,v 1.2 2009/12/10 22:00:24 pgoyette Exp $
SHA1 (dungeon-gdt-glk.tar.gz) = ec148735ae713566c9511057473fbd899d673a6a
RMD160 (dungeon-gdt-glk.tar.gz) = aed6e4a42c03be0a9bce2248dcab3370e1b1fbde
@@ -8,3 +8,4 @@ RMD160 (glkterm-080.tar.gz) = 57e317e816a8c233fd0f2fe24a7c8a54c223edbc
Size (glkterm-080.tar.gz) = 91260 bytes
SHA1 (patch-aa) = d12f8125b0bfe51dbbe942af8f1c77a90ff23f21
SHA1 (patch-ab) = d7d83456c67f39c75b9fa161b82257fdf10eb966
+SHA1 (patch-ac) = b2fbb85157db8061fec21c9dd97b88cc39918331
diff --git a/games/dungeon/patches/patch-ac b/games/dungeon/patches/patch-ac
new file mode 100644
index 00000000000..c497e3da5c9
--- /dev/null
+++ b/games/dungeon/patches/patch-ac
@@ -0,0 +1,52 @@
+$NetBSD: patch-ac,v 1.1 2009/12/10 22:00:25 pgoyette Exp $
+
+The f2c translation maintains Fortran's pass-everything-by-reference,
+and as a result we get lots of constant values defined. Upstream
+took an earlier patch to provide a ftnlen typed version of the c__3
+constant, but that patch was wrong. Correctly initialize the new
+constant.
+
+--- parser.c.orig 2009-11-23 18:27:42.000000000 -0800
++++ parser.c 2009-12-10 13:45:56.000000000 -0800
+@@ -663,7 +663,7 @@
+ /* System generated locals */
+ address a__1[3];
+ integer ret_val;
+- ftnlen i__1[3], cc__3;
++ ftnlen i__1[3], cc__3 = c__3;
+ char ch__1[8];
+
+ /* Local variables */
+@@ -1318,7 +1318,6 @@
+ i__1[1] = 8, a__1[1] = ch__1;
+ i__1[2] = 1, a__1[2] = " ";
+ s_cat(lcwrd1, a__1, i__1, &cc__3, 10L);
+- c__3 = cc__3;
+ }
+ if (obj < 0) {
+ goto L7200;
+@@ -1914,7 +1913,7 @@
+ {
+ /* System generated locals */
+ address a__1[3];
+- ftnlen i__1[3], cc__3;
++ ftnlen i__1[3], cc__3 = c__3;
+ integer i__2, i__3, i__4;
+ logical ret_val;
+ char ch__1[8], ch__2[8];
+@@ -2061,7 +2060,6 @@
+ i__1[1] = 8, a__1[1] = ch__1;
+ i__1[2] = 1, a__1[2] = " ";
+ s_cat(lcprp1, a__1, i__1, &cc__3, 10L);
+- c__3 = cc__3;
+ /* Writing concatenation */
+ i__1[0] = 1, a__1[0] = " ";
+ i__2 = prssta_1.iobj & 511;
+@@ -2070,7 +2068,6 @@
+ i__1[1] = 8, a__1[1] = ch__1;
+ i__1[2] = 1, a__1[2] = " ";
+ s_cat(lcprp2, a__1, i__1, &cc__3, 10L);
+- c__3 = cc__3;
+
+ /* Try to fill direct object slot if that was the problem. */
+