summaryrefslogtreecommitdiff
blob: e9b313423699d066eab1ac7aff17c5c869f5a5da (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
From Debian:

In src/libgame/gadgets.c, check for 64bit when handling
GDI_TYPE,GDI_STATE in HandleGadgetTags() and use int instead of
unsigned long.  Should probably really be uint32_t but I'll leave
that decision to upstream. Thanks Pelle Nilsson (and son).
64bit check borrowed from bug #496863.  Closes: #498912.

--- src/libgame/gadgets.c
+++ src/libgame/gadgets.c
@@ -18,6 +18,12 @@
 #include "text.h"
 #include "misc.h"
 
+/* check for 64bit */
+#ifdef _LP64
+#ifndef L64
+#define L64 1
+#endif
+#endif
 
 /* values for DrawGadget() */
 #define DG_UNPRESSED		0
@@ -301,11 +307,19 @@
 	break;
 
       case GDI_TYPE:
+#ifdef L64
+	gi->type = va_arg(ap, int);
+#else
 	gi->type = va_arg(ap, unsigned long);
+#endif
 	break;
 
       case GDI_STATE:
+#ifdef L64
+	gi->state = va_arg(ap, int);
+#else
 	gi->state = va_arg(ap, unsigned long);
+#endif
 	break;
 
       case GDI_CHECKED: