I noticed this of course when a builder was using our zone editor and
crashed our mud. In db.cc in reset_zone (around line 1480), you may want
to change this:
void reset_zone(int zone)
{
int cmd_no, last_cmd = 0;
struct char_data *mob;
struct obj_data *obj, *obj_to;
to this:
void reset_zone(int zone)
{
int cmd_no, last_cmd = 0;
struct char_data *mob = NULL;
struct obj_data *obj = NULL, *obj_to = NULL;
What happens if you don't set the values to NULL is that if you have a
zone file which is messed up in that it doesn't use the if-flags where it
should, it'll crash the mud instead of reporting the error (since the
pointers will be pointing to something non-NULL more than likely and they
won't be caught in the checks in functions like obj_to_char).
Also, in playing with reset_zone, I set it up so you don't need to set
the doors on both sides of an exit. Real easy stuff, and only a few
lines, but it's a good suggestion mainly because it reduces the number of
zone commands needed, and thereby reduces the likelyhood of errors. If
any of you want to see what I did, just drop me a line.
Chris
This archive was generated by hypermail 2b30 : 12/07/00 PST