note on reset_zone in db.cc

From: The Awakening (awake@texas.net)
Date: 12/05/95


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