Revert "allow readobjnam arg to be nonnull"
This reverts commit 10f29a9760.
This commit is contained in:
@@ -1156,7 +1156,6 @@ struct const_globals {
|
|||||||
extern const struct const_globals cg;
|
extern const struct const_globals cg;
|
||||||
|
|
||||||
extern struct obj hands_obj;
|
extern struct obj hands_obj;
|
||||||
extern char do_random_str;
|
|
||||||
|
|
||||||
#endif /* DECL_H */
|
#endif /* DECL_H */
|
||||||
|
|
||||||
|
|||||||
@@ -2125,7 +2125,10 @@ extern char *bare_artifactname(struct obj *) NONNULLARG1;
|
|||||||
that leads to impossible(), preventing NONNULLARG1 */
|
that leads to impossible(), preventing NONNULLARG1 */
|
||||||
extern char *makeplural(const char *) NO_NONNULLS;
|
extern char *makeplural(const char *) NO_NONNULLS;
|
||||||
extern char *makesingular(const char *) NO_NONNULLS;
|
extern char *makesingular(const char *) NO_NONNULLS;
|
||||||
extern struct obj *readobjnam(char *, struct obj *) NONNULLARG1;
|
/* readobjnam() allows a NULL to trigger code path for random; if it
|
||||||
|
and its caller were modifed to look for/provide a particular address
|
||||||
|
to use as a trigger instead, it could be declared NONNULLARG1 */
|
||||||
|
extern struct obj *readobjnam(char *, struct obj *) NO_NONNULLS;
|
||||||
extern int rnd_class(int, int);
|
extern int rnd_class(int, int);
|
||||||
/* discover_object() passes NULL arg2 to Japanese_item_name(),
|
/* discover_object() passes NULL arg2 to Japanese_item_name(),
|
||||||
* preventing NONNULLARG2 */
|
* preventing NONNULLARG2 */
|
||||||
|
|||||||
@@ -1069,10 +1069,8 @@ decl_globals_init(void)
|
|||||||
gu.urace = urace_init_data;
|
gu.urace = urace_init_data;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* fields in 'hands_obj' and contents of 'do_random_str' don't matter,
|
/* fields in 'hands_obj' don't matter, just its distinct address */
|
||||||
* just their distinct addresses */
|
|
||||||
struct obj hands_obj = DUMMY;
|
struct obj hands_obj = DUMMY;
|
||||||
char do_random_str = '\0';
|
|
||||||
|
|
||||||
/* gcc 12.2's static analyzer thinks that some fields of gc.context.victual
|
/* gcc 12.2's static analyzer thinks that some fields of gc.context.victual
|
||||||
are uninitialized when compiling 'bite(eat.c)' but that's impossible;
|
are uninitialized when compiling 'bite(eat.c)' but that's impossible;
|
||||||
|
|||||||
@@ -4576,7 +4576,7 @@ readobjnam_postparse3(struct _readobjnam_data *d)
|
|||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Return something wished for. Specifying &do_random_str for
|
* Return something wished for. Specifying a null pointer for
|
||||||
* the user request string results in a random object. Otherwise,
|
* the user request string results in a random object. Otherwise,
|
||||||
* if asking explicitly for "nothing" (or "nil") return no_wish;
|
* if asking explicitly for "nothing" (or "nil") return no_wish;
|
||||||
* if not an object return &hands_obj; if an error (no matching object),
|
* if not an object return &hands_obj; if an error (no matching object),
|
||||||
@@ -4588,7 +4588,7 @@ readobjnam(char *bp, struct obj *no_wish)
|
|||||||
struct _readobjnam_data d;
|
struct _readobjnam_data d;
|
||||||
|
|
||||||
readobjnam_init(bp, &d);
|
readobjnam_init(bp, &d);
|
||||||
if (bp == &do_random_str)
|
if (!bp)
|
||||||
goto any;
|
goto any;
|
||||||
|
|
||||||
/* first, remove extra whitespace they may have typed */
|
/* first, remove extra whitespace they may have typed */
|
||||||
|
|||||||
@@ -6024,7 +6024,7 @@ makewish(void)
|
|||||||
if (++tries < MAXWISHTRY)
|
if (++tries < MAXWISHTRY)
|
||||||
goto retry;
|
goto retry;
|
||||||
pline1(thats_enough_tries);
|
pline1(thats_enough_tries);
|
||||||
otmp = readobjnam(&do_random_str, (struct obj *) 0);
|
otmp = readobjnam((char *) 0, (struct obj *) 0);
|
||||||
if (!otmp)
|
if (!otmp)
|
||||||
return; /* for safety; should never happen */
|
return; /* for safety; should never happen */
|
||||||
} else if (otmp == ¬hing) {
|
} else if (otmp == ¬hing) {
|
||||||
|
|||||||
Reference in New Issue
Block a user