| 893 | |
| 894 | #ifndef SFCTOOL |
| 895 | DISABLE_WARNING_FORMAT_NONLITERAL |
| 896 | |
| 897 | /* to support '#stats' wizard-mode command */ |
| 898 | void |
| 899 | region_stats( |
| 900 | const char *hdrfmt, |
| 901 | char *hdrbuf, |
| 902 | long *count, |
| 903 | long *size) |
| 904 | { |
| 905 | NhRegion *rg; |
| 906 | int i; |
| 907 | |
| 908 | /* other stats formats take one parameter; this takes two */ |
| 909 | Sprintf(hdrbuf, hdrfmt, (long) sizeof (NhRegion), (long) sizeof (NhRect)); |
| 910 | *count = (long) svn.n_regions; /* might be 0 even tho max_regions isn't */ |
| 911 | *size = (long) gm.max_regions * (long) sizeof (NhRegion); |
| 912 | for (i = 0; i < svn.n_regions; ++i) { |
| 913 | rg = gr.regions[i]; |
| 914 | *size += (long) rg->nrects * (long) sizeof (NhRect); |
| 915 | if (rg->enter_msg) |
| 916 | *size += (long) (strlen(rg->enter_msg) + 1); |
| 917 | if (rg->leave_msg) |
| 918 | *size += (long) (strlen(rg->leave_msg) + 1); |
| 919 | *size += (long) rg->max_monst * (long) sizeof *rg->monsters; |
| 920 | } |
| 921 | /* ? */ |
| 922 | } |
| 923 | |
| 924 | RESTORE_WARNING_FORMAT_NONLITERAL |
| 925 | |