Mercurial > hg > early-roguelike
view urogue/verify.c @ 298:5a94c9b3181e
UltraRogue: clear the next_obj field when removing items from the floor.
The next_obj field is a pointer which the top item in a stack uses to
keep a list of the other items. When removing an item from the stack,
rem_obj() failed to set next_obj to NULL, which can cause items in
monster inventory to point to items earlier in the inventory list.
That causes infinite co-recursion when saving or restoring.
author | John "Elwin" Edwards |
---|---|
date | Thu, 08 Feb 2018 20:54:34 -0500 |
parents | c495a4f288c6 |
children | 13b482bd9e66 |
line wrap: on
line source
/* verify.c - exiting functions UltraRogue: The Ultimate Adventure in the Dungeons of Doom Copyright (C) 1995 Herb Chong All rights reserved. */ static char sccsid[] = "%W% %G%"; #include "rogue.h" void verify_function(const char *file, const int line) { char s[80]; sprintf(s, "Verify failure in %s at line %d\n", file, line); fatal(s); }