more nonnull follow-up

This commit is contained in:
nhmall
2023-12-20 15:53:51 -05:00
parent 488afffcd7
commit 0dafde4079
2 changed files with 15 additions and 18 deletions

View File

@@ -3503,8 +3503,8 @@ extern int weapon_type(struct obj *) NO_NONNULLS;
extern int uwep_skill_type(void);
/* find_roll_to_hit() calls weapon_hit_bonus() with a NULL argument,
preventing NONNULLARG1 */
extern int weapon_hit_bonus(struct obj *);
extern int weapon_dam_bonus(struct obj *);
extern int weapon_hit_bonus(struct obj *) NO_NONNULLS;
extern int weapon_dam_bonus(struct obj *) NO_NONNULLS;
extern void skill_init(const struct def_skill *) NONNULLARG1;
extern void setmnotwielded(struct monst *, struct obj *) NONNULLARG1;
@@ -3663,9 +3663,10 @@ extern struct obj *which_armor(struct monst *, long) NONNULLARG1;
extern void mon_break_armor(struct monst *, boolean) NONNULLARG1;
extern void bypass_obj(struct obj *) NONNULLARG1;
extern void clear_bypasses(void);
extern void bypass_objlist(struct obj *, boolean) NONNULLARG1;
extern struct obj *nxt_unbypassed_obj(struct obj *) NONNULLARG1;
extern struct obj *nxt_unbypassed_loot(Loot *, struct obj *) NONNULLARG12;
/* callers don't check gi.invent before passing to bypass_objlist */
extern void bypass_objlist(struct obj *, boolean) NO_NONNULLS;
extern struct obj *nxt_unbypassed_obj(struct obj *) NO_NONNULLS;
extern struct obj *nxt_unbypassed_loot(Loot *, struct obj *) NONNULLARG1;
extern int racial_exception(struct monst *, struct obj *) NONNULLARG12;
extern void extract_from_minvent(struct monst *, struct obj *, boolean,
boolean) NONNULLARG12;

View File

@@ -892,13 +892,11 @@ bypass_objlist(
struct obj *objchain,
boolean on) /* TRUE => set, FALSE => clear */
{
struct obj *objchain2 = objchain; /* allow objchain arg1 to be nonnull */
if (on && objchain2)
if (on && objchain)
gc.context.bypasses = TRUE;
while (objchain2) {
objchain2->bypass = on ? 1 : 0;
objchain2 = objchain2->nobj;
while (objchain) {
objchain->bypass = on ? 1 : 0;
objchain = objchain->nobj;
}
}
@@ -907,16 +905,14 @@ bypass_objlist(
struct obj *
nxt_unbypassed_obj(struct obj *objchain)
{
struct obj *objchain2 = objchain; /* allow objchain arg1 to be nonnull */
while (objchain2) {
if (!objchain2->bypass) {
bypass_obj(objchain2);
while (objchain) {
if (!objchain->bypass) {
bypass_obj(objchain);
break;
}
objchain2 = objchain2->nobj;
objchain = objchain->nobj;
}
return objchain2;
return objchain;
}
/* like nxt_unbypassed_obj() but operates on sortloot_item array rather