| 472 | } |
| 473 | |
| 474 | void |
| 475 | add_valid_menu_class(int c) |
| 476 | { |
| 477 | static int vmc_count = 0; |
| 478 | |
| 479 | if (c == 0) { /* reset */ |
| 480 | vmc_count = 0; |
| 481 | gc.class_filter = gb.bucx_filter = gs.shop_filter = FALSE; |
| 482 | gp.picked_filter = FALSE; |
| 483 | } else if (!menu_class_present(c)) { |
| 484 | gv.valid_menu_classes[vmc_count++] = (char) c; |
| 485 | /* categorize the new class */ |
| 486 | switch (c) { |
| 487 | case 'B': |
| 488 | case 'U': |
| 489 | case 'C': /*FALLTHRU*/ |
| 490 | case 'X': |
| 491 | gb.bucx_filter = TRUE; |
| 492 | break; |
| 493 | case 'P': |
| 494 | gp.picked_filter = TRUE; |
| 495 | break; |
| 496 | case 'u': |
| 497 | gs.shop_filter = TRUE; |
| 498 | break; |
| 499 | default: |
| 500 | gc.class_filter = TRUE; |
| 501 | break; |
| 502 | } |
| 503 | } |
| 504 | gv.valid_menu_classes[vmc_count] = '\0'; |
| 505 | } |
| 506 | |
| 507 | /* query_objlist callback: return TRUE if not uchain */ |
| 508 | staticfn boolean |
no test coverage detected