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);
}