safe_oname (trunk only)
There were routines that were passed the object name as an argument. Before the oextra patch, ONAME() always returned a valid pointer to a location within the obj struct. The oextra patch worked around those cases by using a temporary variable that was either set to ONAME (if the obj passed the has_oname() test), or to "" (pointer to an empty string) if no name was present. Since that might be a common thing to do, provide the safe_oname() routine that you can use as a function parameter without having to worry about about whether ONAME(obj) is valid, and without the need for the temporary variable.
This commit is contained in:
@@ -353,6 +353,7 @@ E void FDECL(new_mname, (struct monst *,int));
|
||||
E void FDECL(free_mname, (struct monst *));
|
||||
E void FDECL(new_oname, (struct obj *,int));
|
||||
E void FDECL(free_oname, (struct obj *));
|
||||
E const char *FDECL(safe_oname, (struct obj *));
|
||||
E struct monst *FDECL(christen_monst, (struct monst *,const char *));
|
||||
E int NDECL(do_mname);
|
||||
E struct obj *FDECL(oname, (struct obj *,const char *));
|
||||
|
||||
Reference in New Issue
Block a user