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
+6 -5
View File
@@ -3503,8 +3503,8 @@ extern int weapon_type(struct obj *) NO_NONNULLS;
extern int uwep_skill_type(void); extern int uwep_skill_type(void);
/* find_roll_to_hit() calls weapon_hit_bonus() with a NULL argument, /* find_roll_to_hit() calls weapon_hit_bonus() with a NULL argument,
preventing NONNULLARG1 */ preventing NONNULLARG1 */
extern int weapon_hit_bonus(struct obj *); extern int weapon_hit_bonus(struct obj *) NO_NONNULLS;
extern int weapon_dam_bonus(struct obj *); extern int weapon_dam_bonus(struct obj *) NO_NONNULLS;
extern void skill_init(const struct def_skill *) NONNULLARG1; extern void skill_init(const struct def_skill *) NONNULLARG1;
extern void setmnotwielded(struct monst *, struct obj *) 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 mon_break_armor(struct monst *, boolean) NONNULLARG1;
extern void bypass_obj(struct obj *) NONNULLARG1; extern void bypass_obj(struct obj *) NONNULLARG1;
extern void clear_bypasses(void); extern void clear_bypasses(void);
extern void bypass_objlist(struct obj *, boolean) NONNULLARG1; /* callers don't check gi.invent before passing to bypass_objlist */
extern struct obj *nxt_unbypassed_obj(struct obj *) NONNULLARG1; extern void bypass_objlist(struct obj *, boolean) NO_NONNULLS;
extern struct obj *nxt_unbypassed_loot(Loot *, struct obj *) NONNULLARG12; 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 int racial_exception(struct monst *, struct obj *) NONNULLARG12;
extern void extract_from_minvent(struct monst *, struct obj *, boolean, extern void extract_from_minvent(struct monst *, struct obj *, boolean,
boolean) NONNULLARG12; boolean) NONNULLARG12;
+9 -13
View File
@@ -892,13 +892,11 @@ bypass_objlist(
struct obj *objchain, struct obj *objchain,
boolean on) /* TRUE => set, FALSE => clear */ boolean on) /* TRUE => set, FALSE => clear */
{ {
struct obj *objchain2 = objchain; /* allow objchain arg1 to be nonnull */ if (on && objchain)
if (on && objchain2)
gc.context.bypasses = TRUE; gc.context.bypasses = TRUE;
while (objchain2) { while (objchain) {
objchain2->bypass = on ? 1 : 0; objchain->bypass = on ? 1 : 0;
objchain2 = objchain2->nobj; objchain = objchain->nobj;
} }
} }
@@ -907,16 +905,14 @@ bypass_objlist(
struct obj * struct obj *
nxt_unbypassed_obj(struct obj *objchain) nxt_unbypassed_obj(struct obj *objchain)
{ {
struct obj *objchain2 = objchain; /* allow objchain arg1 to be nonnull */ while (objchain) {
if (!objchain->bypass) {
while (objchain2) { bypass_obj(objchain);
if (!objchain2->bypass) {
bypass_obj(objchain2);
break; break;
} }
objchain2 = objchain2->nobj; objchain = objchain->nobj;
} }
return objchain2; return objchain;
} }
/* like nxt_unbypassed_obj() but operates on sortloot_item array rather /* like nxt_unbypassed_obj() but operates on sortloot_item array rather