use gi.invalid_obj instead of cg.zeroobj
cg.zeroobj was originally added (under its previous unprefixed name)
for providing a one-line way to zero out the fields of a struct obj.
struct obj tempobj;
tempobj = cg.zeroobj;
initfn(struct obj *otmp)
{
if (otmp)
*otmp = cg.zeroobj;
}
More recently, the address of cg.zeroobj began to be used as a return
flag to indicate some things, but the 'const struct obj zeroobj' wasn't
an ideal fit for the purpose and required a number of casts, including
casting away const.
Provide a better fitting variable (gi.invalid_obj) and eliminate a
number of casts.
This commit is contained in:
@@ -391,7 +391,7 @@ void
|
||||
dipfountain(struct obj *obj)
|
||||
{
|
||||
int er = ER_NOTHING;
|
||||
boolean is_hands = (obj == &cg.zeroobj);
|
||||
boolean is_hands = (obj == &gi.invalid_obj);
|
||||
|
||||
if (Levitation) {
|
||||
floating_above("fountain");
|
||||
@@ -713,7 +713,7 @@ dipsink(struct obj *obj)
|
||||
if (Glib && (!obj || obj == uarmg))
|
||||
Your("%s are still slippery.", fingers_or_gloves(TRUE));
|
||||
return;
|
||||
} else if (obj == &cg.zeroobj || obj == uarmg) {
|
||||
} else if (obj == &gi.invalid_obj || obj == uarmg) {
|
||||
(void) wash_hands();
|
||||
return;
|
||||
} else if (obj->oclass != POTION_CLASS) {
|
||||
|
||||
Reference in New Issue
Block a user