MCPcopy Create free account
hub / github.com/NetHack/NetHack / Gem_select_menu

Function Gem_select_menu

outdated/win/gem/wingem.c:807–840  ·  view source on GitHub ↗
(window, how, menu_list)

Source from the content-addressed store, hash-verified

805}
806
807int
808Gem_select_menu(window, how, menu_list)
809winid window;
810int how;
811menu_item **menu_list;
812{
813 Gem_menu_item *Gmit;
814 menu_item *mi;
815 int n;
816
817 if (window == WIN_ERR || mar_hol_win_type(window) != NHW_MENU)
818 panic(winpanicstr, window);
819
820 *menu_list = (menu_item *) 0;
821 mar_set_menu_type(how);
822 Gem_display_nhwindow(window, TRUE);
823
824 for (n = 0, Gmit = mar_hol_inv(); Gmit; Gmit = Gmit->Gmi_next)
825 if (Gmit->Gmi_selected)
826 n++;
827
828 if (n > 0) {
829 *menu_list = (menu_item *) alloc(n * sizeof(menu_item));
830 for (mi = *menu_list, Gmit = mar_hol_inv(); Gmit;
831 Gmit = Gmit->Gmi_next)
832 if (Gmit->Gmi_selected) {
833 mi->item = (anything)(genericptr_t) Gmit->Gmi_identifier;
834 mi->count = Gmit->Gmi_count;
835 mi++;
836 }
837 }
838
839 return n;
840}
841
842void
843Gem_update_inventory()

Callers 1

Gem_get_ext_cmdFunction · 0.85

Calls 6

mar_hol_win_typeFunction · 0.85
mar_set_menu_typeFunction · 0.85
Gem_display_nhwindowFunction · 0.85
mar_hol_invFunction · 0.85
panicFunction · 0.50
allocFunction · 0.50

Tested by

no test coverage detected