[Circle] [Possible Stock Bug]

From: JTRhone (ujtr@lady.cs.sunyit.edu)
Date: 11/29/96


I could be wrong, wouldn't be the first time, but in limits.c in 
point_update() there is a call to check_idling() if !IS_NPC(i).  After
that call there are some gain_condition() calls, which just subtract the
hunger/thirst/drunk by 1 for the char.  (Ok not the most elegant way to
say it but hey :)

What if the character is extracted by check_idling() ?
In check_idling() the character gets force rented and extracted if their
idle time exceeds the predetermined limit.

If the character gets extracted, gain_condition() references a freed area
of memory.  In the normal flow of the program this usually will not result
in an error I think, but I've added quite a few things after that
check_idling() call in point_update(), so it does do some nasty things on
my mud.

Solution?  Well reordering the function calls will work, but I think I'll
just have check_idling() return bool (TRUE if the char was extracted
and freed) and if (check_idling(i)) perhaps continue on to the next char
in the point_update() for loop.


Well, I hope someone else can take a look and maybe show me somethin I'm
missin.

vall aka jtrhone RoA


+-----------------------------------------------------------+
| Ensure that you have read the CircleMUD Mailing List FAQ: |
|   http://cspo.queensu.ca/~fletcher/Circle/list_faq.html   |
+-----------------------------------------------------------+



This archive was generated by hypermail 2b30 : 12/18/00 PST