| 3311 | DISABLE_WARNING_FORMAT_NONLITERAL |
| 3312 | |
| 3313 | staticfn void |
| 3314 | insane_object( |
| 3315 | struct obj *obj, |
| 3316 | const char *fmt, |
| 3317 | const char *mesg, |
| 3318 | struct monst *mon) |
| 3319 | { |
| 3320 | const char *objnm, *monnm; |
| 3321 | char altfmt[BUFSZ]; |
| 3322 | |
| 3323 | objnm = monnm = "null!"; |
| 3324 | if (obj) { |
| 3325 | iflags.override_ID++; |
| 3326 | objnm = doname(obj); |
| 3327 | iflags.override_ID--; |
| 3328 | } |
| 3329 | if (mon || (strstri(mesg, "minvent") && !strstri(mesg, "contained"))) { |
| 3330 | Strcat(strcpy(altfmt, fmt), " held by mon %s (%s)"); |
| 3331 | if (mon) |
| 3332 | monnm = x_monnam(mon, ARTICLE_A, (char *) 0, EXACT_NAME, TRUE); |
| 3333 | impossible(altfmt, mesg, fmt_ptr((genericptr_t) obj), where_name(obj), |
| 3334 | objnm, fmt_ptr((genericptr_t) mon), monnm); |
| 3335 | } else { |
| 3336 | impossible(fmt, mesg, fmt_ptr((genericptr_t) obj), where_name(obj), |
| 3337 | objnm); |
| 3338 | } |
| 3339 | } |
| 3340 | |
| 3341 | RESTORE_WARNING_FORMAT_NONLITERAL |
| 3342 |
no test coverage detected