aboutsummaryrefslogtreecommitdiffstats
path: root/src/xmenu.c
diff options
context:
space:
mode:
authorPaul Eggert2011-04-10 09:44:27 -0700
committerPaul Eggert2011-04-10 09:44:27 -0700
commitb2ded58d7e0eb75f00071036d1c07bbd55313b60 (patch)
tree5546bb6d7214033a83d13ce87a15f65595f6ae74 /src/xmenu.c
parent37f1c9309eb0e6b3bc3dda1ffa7f99410c22355d (diff)
parent12020a9e6dcfc2213e8bbb0fec259c1ed1202f30 (diff)
downloademacs-b2ded58d7e0eb75f00071036d1c07bbd55313b60.tar.gz
emacs-b2ded58d7e0eb75f00071036d1c07bbd55313b60.zip
Fix more problems found by GCC 4.6.0's static checks.
Diffstat (limited to 'src/xmenu.c')
-rw-r--r--src/xmenu.c21
1 files changed, 11 insertions, 10 deletions
diff --git a/src/xmenu.c b/src/xmenu.c
index dbf8145f737..b1f7dfb26bc 100644
--- a/src/xmenu.c
+++ b/src/xmenu.c
@@ -966,6 +966,7 @@ set_frame_menubar (FRAME_PTR f, int first_time, int deep_p)
966 Lisp_Object *previous_items 966 Lisp_Object *previous_items
967 = (Lisp_Object *) alloca (previous_menu_items_used 967 = (Lisp_Object *) alloca (previous_menu_items_used
968 * sizeof (Lisp_Object)); 968 * sizeof (Lisp_Object));
969 EMACS_UINT subitems;
969 970
970 /* If we are making a new widget, its contents are empty, 971 /* If we are making a new widget, its contents are empty,
971 do always reinitialize them. */ 972 do always reinitialize them. */
@@ -1010,21 +1011,21 @@ set_frame_menubar (FRAME_PTR f, int first_time, int deep_p)
1010 1011
1011 menu_items = f->menu_bar_vector; 1012 menu_items = f->menu_bar_vector;
1012 menu_items_allocated = VECTORP (menu_items) ? ASIZE (menu_items) : 0; 1013 menu_items_allocated = VECTORP (menu_items) ? ASIZE (menu_items) : 0;
1013 submenu_start = (int *) alloca (XVECTOR (items)->size * sizeof (int *)); 1014 subitems = XVECTOR (items)->size / 4;
1014 submenu_end = (int *) alloca (XVECTOR (items)->size * sizeof (int *)); 1015 submenu_start = (int *) alloca (subitems * sizeof (int *));
1015 submenu_n_panes = (int *) alloca (XVECTOR (items)->size * sizeof (int)); 1016 submenu_end = (int *) alloca (subitems * sizeof (int *));
1016 submenu_top_level_items 1017 submenu_n_panes = (int *) alloca (subitems * sizeof (int));
1017 = (int *) alloca (XVECTOR (items)->size * sizeof (int *)); 1018 submenu_top_level_items = (int *) alloca (subitems * sizeof (int *));
1018 init_menu_items (); 1019 init_menu_items ();
1019 for (i = 0; i < XVECTOR (items)->size; i += 4) 1020 for (i = 0; i < subitems; i++)
1020 { 1021 {
1021 Lisp_Object key, string, maps; 1022 Lisp_Object key, string, maps;
1022 1023
1023 last_i = i; 1024 last_i = i;
1024 1025
1025 key = XVECTOR (items)->contents[i]; 1026 key = XVECTOR (items)->contents[4 * i];
1026 string = XVECTOR (items)->contents[i + 1]; 1027 string = XVECTOR (items)->contents[4 * i + 1];
1027 maps = XVECTOR (items)->contents[i + 2]; 1028 maps = XVECTOR (items)->contents[4 * i + 2];
1028 if (NILP (string)) 1029 if (NILP (string))
1029 break; 1030 break;
1030 1031
@@ -1051,7 +1052,7 @@ set_frame_menubar (FRAME_PTR f, int first_time, int deep_p)
1051 wv->help = Qnil; 1052 wv->help = Qnil;
1052 first_wv = wv; 1053 first_wv = wv;
1053 1054
1054 for (i = 0; i < last_i; i += 4) 1055 for (i = 0; i < last_i; i++)
1055 { 1056 {
1056 menu_items_n_panes = submenu_n_panes[i]; 1057 menu_items_n_panes = submenu_n_panes[i];
1057 wv = digest_single_submenu (submenu_start[i], submenu_end[i], 1058 wv = digest_single_submenu (submenu_start[i], submenu_end[i],