Make a new item. */
| 533 | |
| 534 | /* Make a new item. */ |
| 535 | static void item_make(struct menu *menu, char tag, const char *fmt, ...) |
| 536 | { |
| 537 | va_list ap; |
| 538 | |
| 539 | if (items_num > MAX_MENU_ITEMS-1) |
| 540 | return; |
| 541 | |
| 542 | bzero(&k_menu_items[items_num], sizeof(k_menu_items[0])); |
| 543 | k_menu_items[items_num].tag = tag; |
| 544 | k_menu_items[items_num].usrptr = menu; |
| 545 | if (menu != NULL) |
| 546 | k_menu_items[items_num].is_visible = |
| 547 | menu_is_visible(menu); |
| 548 | else |
| 549 | k_menu_items[items_num].is_visible = 1; |
| 550 | |
| 551 | va_start(ap, fmt); |
| 552 | vsnprintf(k_menu_items[items_num].str, |
| 553 | sizeof(k_menu_items[items_num].str), |
| 554 | fmt, ap); |
| 555 | va_end(ap); |
| 556 | |
| 557 | if (!k_menu_items[items_num].is_visible) |
| 558 | memcpy(k_menu_items[items_num].str, "XXX", 3); |
| 559 | |
| 560 | curses_menu_items[items_num] = new_item( |
| 561 | k_menu_items[items_num].str, |
| 562 | k_menu_items[items_num].str); |
| 563 | set_item_userptr(curses_menu_items[items_num], |
| 564 | &k_menu_items[items_num]); |
| 565 | /* |
| 566 | if (!k_menu_items[items_num].is_visible) |
| 567 | item_opts_off(curses_menu_items[items_num], O_SELECTABLE); |
| 568 | */ |
| 569 | |
| 570 | items_num++; |
| 571 | curses_menu_items[items_num] = NULL; |
| 572 | } |
| 573 | |
| 574 | /* very hackish. adds a string to the last item added */ |
| 575 | static void item_add_str(const char *fmt, ...) |
no test coverage detected