From fc5e991b068ee1b76d190eeeb90a3b5428df0014 Mon Sep 17 00:00:00 2001 From: nhkeni Date: Thu, 17 Mar 2022 17:14:12 -0400 Subject: [PATCH] Add typedef mmflags_t to assure enough bits for all MM_* flags. --- include/extern.h | 2 +- include/hack.h | 2 ++ include/sp_lev.h | 2 +- src/dog.c | 2 +- src/makemon.c | 6 +++--- src/read.c | 2 +- src/trap.c | 2 +- src/zap.c | 4 ++-- 8 files changed, 12 insertions(+), 10 deletions(-) diff --git a/include/extern.h b/include/extern.h index 2b2ae7ef0..b9a301707 100644 --- a/include/extern.h +++ b/include/extern.h @@ -1229,7 +1229,7 @@ extern void newmonhp(struct monst *, int); extern struct mextra *newmextra(void); extern void copy_mextra(struct monst *, struct monst *); extern void dealloc_mextra(struct monst *); -extern struct monst *makemon(struct permonst *, int, int, long); +extern struct monst *makemon(struct permonst *, int, int, mmflags_nht); extern struct monst *unmakemon(struct monst *, long); extern boolean create_critters(int, struct permonst *, boolean); extern struct permonst *rndmonst(void); diff --git a/include/hack.h b/include/hack.h index 7be2672a2..3f5c034a7 100644 --- a/include/hack.h +++ b/include/hack.h @@ -263,6 +263,8 @@ typedef struct sortloot_item Loot; || (g.context.warntype.species \ && (g.context.warntype.species == (mon)->data)))) +typedef uint32_t mmflags_nht; /* makemon MM_ flags */ + #include "trap.h" #include "flag.h" #include "vision.h" diff --git a/include/sp_lev.h b/include/sp_lev.h index e9b00407e..bb0de837e 100644 --- a/include/sp_lev.h +++ b/include/sp_lev.h @@ -138,7 +138,7 @@ typedef struct { paralyzed, stunned, confused, waiting; long seentraps; short has_invent; - long mm_flags; /* makemon flags */ + mmflags_nht mm_flags; /* makemon flags */ } monster; typedef struct { diff --git a/src/dog.c b/src/dog.c index 0a68bd45e..a032812e1 100644 --- a/src/dog.c +++ b/src/dog.c @@ -71,7 +71,7 @@ make_familiar(struct obj *otmp, xchar x, xchar y, boolean quietly) int chance, trycnt = 100; do { - long mmflags; + mmflags_nht mmflags; int cgend, mndx; if (otmp) { /* figurine; otherwise spell */ diff --git a/src/makemon.c b/src/makemon.c index a17a3858c..6cf8205f3 100644 --- a/src/makemon.c +++ b/src/makemon.c @@ -18,7 +18,7 @@ static boolean uncommon(int); static int align_shift(struct permonst *); static boolean mk_gen_ok(int, unsigned, unsigned); static boolean wrong_elem_type(struct permonst *); -static void m_initgrp(struct monst *, int, int, int, int); +static void m_initgrp(struct monst *, int, int, int, mmflags_nht); static void m_initthrow(struct monst *, int, int); static void m_initweap(struct monst *); static void m_initinv(struct monst *); @@ -71,7 +71,7 @@ wrong_elem_type(struct permonst *ptr) /* make a group just like mtmp */ static void -m_initgrp(struct monst *mtmp, int x, int y, int n, int mmflags) +m_initgrp(struct monst *mtmp, int x, int y, int n, mmflags_nht mmflags) { coord mm; register int cnt = rnd(n); @@ -1114,7 +1114,7 @@ makemon_rnd_goodpos(struct monst *mon, long gpflags, coord *cc) */ struct monst * makemon(register struct permonst *ptr, - register int x, register int y, long mmflags) + register int x, register int y, mmflags_nht mmflags) { register struct monst *mtmp; struct monst fakemon; diff --git a/src/read.c b/src/read.c index 003fe15bc..4c450a88f 100644 --- a/src/read.c +++ b/src/read.c @@ -3024,7 +3024,7 @@ create_particular_creation(struct _create_particular_data* d) whichpm = &mons[d->which]; } for (i = 0; i < d->quan; i++) { - long mmflags = NO_MM_FLAGS; + mmflags_nht mmflags = NO_MM_FLAGS; if (d->monclass != MAXMCLASSES) whichpm = mkclass(d->monclass, 0); diff --git a/src/trap.c b/src/trap.c index 510fb8c01..2470dab9b 100644 --- a/src/trap.c +++ b/src/trap.c @@ -642,7 +642,7 @@ animate_statue( wary_dog(mon, TRUE); } else { int sgend = (statue->spe & CORPSTAT_GENDER); - long mmflags = (NO_MINVENT | MM_NOMSG + mmflags_nht mmflags = (NO_MINVENT | MM_NOMSG | ((sgend == CORPSTAT_MALE) ? MM_MALE : 0) | ((sgend == CORPSTAT_FEMALE) ? MM_FEMALE : 0)); diff --git a/src/zap.c b/src/zap.c index 9bb183740..485bc45aa 100644 --- a/src/zap.c +++ b/src/zap.c @@ -776,7 +776,7 @@ revive(struct obj *corpse, boolean by_hero) coord xy; xchar x, y; boolean one_of; - long mmflags = NO_MINVENT | MM_NOWAIT | MM_NOMSG; + mmflags_nht mmflags = NO_MINVENT | MM_NOWAIT | MM_NOMSG; int montype, cgend, container_nesting = 0; boolean is_zomb = (mons[corpse->corpsenm].mlet == S_ZOMBIE); @@ -5554,7 +5554,7 @@ makewish(void) struct obj *otmp, nothing; long maybe_LL_arti; int tries = 0; - int oldwisharti = u.uconduct.wisharti; + long oldwisharti = u.uconduct.wisharti; promptbuf[0] = '\0'; nothing = cg.zeroobj; /* lint suppression; only its address matters */ -- 2.50.1