| 659 | |
| 660 | |
| 661 | void |
| 662 | curses_view_file(const char *filename, boolean must_exist) |
| 663 | { |
| 664 | winid wid; |
| 665 | anything Id; |
| 666 | char buf[BUFSZ]; |
| 667 | menu_item *selected = NULL; |
| 668 | dlb *fp = dlb_fopen(filename, "r"); |
| 669 | int clr = NO_COLOR; |
| 670 | |
| 671 | if (fp == NULL) { |
| 672 | if (must_exist) |
| 673 | pline("Cannot open \"%s\" for reading!", filename); |
| 674 | return; |
| 675 | } |
| 676 | |
| 677 | wid = curses_get_wid(NHW_MENU); |
| 678 | curses_create_nhmenu(wid, 0UL); |
| 679 | Id = cg.zeroany; |
| 680 | |
| 681 | while (dlb_fgets(buf, BUFSZ, fp) != NULL) { |
| 682 | curses_add_menu(wid, &nul_glyphinfo, &Id, 0, 0, |
| 683 | A_NORMAL, clr, buf, FALSE); |
| 684 | } |
| 685 | |
| 686 | dlb_fclose(fp); |
| 687 | curses_end_menu(wid, ""); |
| 688 | curses_select_menu(wid, PICK_NONE, &selected); |
| 689 | curses_del_wid(wid); |
| 690 | } |
| 691 | |
| 692 | |
| 693 | void |
no test coverage detected