Package: zangband
Severity: normal
Tags: patch

When building 'zangband' on amd64 with gcc-4.0,
I get the following error:

src/main-gtk.c:2254: error: (near initialization for 
'main_menu_items[14].callback_action')
src/main-gtk.c:2265: error: initializer element is not constant
src/main-gtk.c:2265: error: (near initialization for 
'main_menu_items[17].callback_action')
src/main-gtk.c:2267: error: initializer element is not constant
src/main-gtk.c:2267: error: (near initialization for 
'main_menu_items[18].callback_action')
src/main-gtk.c:2269: error: initializer element is not constant
src/main-gtk.c:2269: error: (near initialization for 
'main_menu_items[19].callback_action')
src/main-gtk.c:2271: error: initializer element is not constant
src/main-gtk.c:2271: error: (near initialization for 
'main_menu_items[20].callback_action')
src/main-gtk.c:2273: error: initializer element is not constant
src/main-gtk.c:2273: error: (near initialization for 
'main_menu_items[21].callback_action')
src/main-gtk.c:2275: error: initializer element is not constant
src/main-gtk.c:2275: error: (near initialization for 
'main_menu_items[22].callback_action')
src/main-gtk.c:2277: error: initializer element is not constant
src/main-gtk.c:2277: error: (near initialization for 
'main_menu_items[23].callback_action')
src/main-gtk.c:2279: error: initializer element is not constant
src/main-gtk.c:2279: error: (near initialization for 
'main_menu_items[24].callback_action')
make[1]: *** [src/main-gtk.o] Error 1
make[1]: Leaving directory `/zangband-2.7.3'
make: *** [build-stamp] Error 2

With the attached patch 'zangband' can be compiled
on amd64 using gcc-4.0.

Regards
Andreas Jochens

diff -urN ../tmp-orig/zangband-2.7.3/src/main-gtk.c ./src/main-gtk.c
--- ../tmp-orig/zangband-2.7.3/src/main-gtk.c   2003-04-05 19:02:02.000000000 
+0000
+++ ./src/main-gtk.c    2005-02-28 13:00:01.294987859 +0000
@@ -1218,7 +1218,7 @@
 {
        GtkWidget *font_selector = gtk_font_selection_dialog_new("Select font");
 
-       term_data *td = user_data;
+       term_data *td = (term_data*) &data[(long)user_data];
        gchar *foundery[] = { (char * ) "misc", NULL};
        gchar *spacings[] = { (char * ) "c", (char *) "m", NULL };
        gchar *charsets[] = { (char * ) "iso8859-1", NULL};
@@ -1263,7 +1263,7 @@
  */
 static void term_event_handler(GtkWidget *widget, gpointer user_data)
 {
-       term_data *td = (term_data *)user_data;
+       term_data *td = (term_data *) &data[(long)user_data];
        
        /* Ignore unused parameter */
        (void) widget;
@@ -2237,21 +2237,21 @@
          NULL, 0, (char * ) "<Branch>" },
        /* XXX XXX XXX NULL's are replaced by the program */
        { NULL, (char * ) "<mod1>0",
-         term_event_handler, (guint)&data[0], (char * ) "<CheckItem>" },
+         term_event_handler, 0, (char * ) "<CheckItem>" },
        { NULL, (char * ) "<mod1>1",
-         term_event_handler, (guint)&data[1], (char * ) "<CheckItem>" },
+         term_event_handler, 1, (char * ) "<CheckItem>" },
        { NULL, (char * ) "<mod1>2",
-         term_event_handler, (guint)&data[2], (char * ) "<CheckItem>" },
+         term_event_handler, 2, (char * ) "<CheckItem>" },
        { NULL, (char * ) "<mod1>3",
-         term_event_handler, (guint)&data[3], (char * ) "<CheckItem>" },
+         term_event_handler, 3, (char * ) "<CheckItem>" },
        { NULL, (char * ) "<mod1>4",
-         term_event_handler, (guint)&data[4], (char * ) "<CheckItem>" },
+         term_event_handler, 4, (char * ) "<CheckItem>" },
        { NULL, (char * ) "<mod1>5",
-         term_event_handler, (guint)&data[5], (char * ) "<CheckItem>" },
+         term_event_handler, 5, (char * ) "<CheckItem>" },
        { NULL, (char * ) "<mod1>6",
-         term_event_handler, (guint)&data[6], (char * ) "<CheckItem>" },
+         term_event_handler, 6, (char * ) "<CheckItem>" },
        { NULL, (char * ) "<mod1>7",
-         term_event_handler, (guint)&data[7], (char * ) "<CheckItem>" },
+         term_event_handler, 7, (char * ) "<CheckItem>" },
 
        /* "Options" menu */
        { (char * ) "/Options", NULL,
@@ -2262,21 +2262,21 @@
          NULL, 0, (char * ) "<Branch>" },
        /* XXX XXX XXX Again, NULL's are filled by the program */
        { NULL, NULL,
-         change_font_event_handler, (guint)&data[0], NULL },
+         change_font_event_handler, 0, NULL },
        { NULL, NULL,
-         change_font_event_handler, (guint)&data[1], NULL },
+         change_font_event_handler, 1, NULL },
        { NULL, NULL,
-         change_font_event_handler, (guint)&data[2], NULL },
+         change_font_event_handler, 2, NULL },
        { NULL, NULL,
-         change_font_event_handler, (guint)&data[3], NULL },
+         change_font_event_handler, 3, NULL },
        { NULL, NULL,
-         change_font_event_handler, (guint)&data[4], NULL },
+         change_font_event_handler, 4, NULL },
        { NULL, NULL,
-         change_font_event_handler, (guint)&data[5], NULL },
+         change_font_event_handler, 5, NULL },
        { NULL, NULL,
-         change_font_event_handler, (guint)&data[6], NULL },
+         change_font_event_handler, 6, NULL },
        { NULL, NULL,
-         change_font_event_handler, (guint)&data[7], NULL },
+         change_font_event_handler, 7, NULL },
 
 #ifdef USE_GRAPHICS
 


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to