Re: [Code]

From: Ron Cole (rcole@EZY.NET)
Date: 10/01/97


If this is stock, then you have old stock...

>/* Call affect_remove with every spell of spelltype "skill" */
>void affect_from_char(struct char_data * ch, sh_int type)
>{
>  struct affected_type *hjp;
>
>  for (hjp = ch->affected; hjp; hjp = hjp->next)
                                 ^^^^^^^^^^^^^^^
This is very bad for walking a list where you might remove an item.  Get the
current circle code and get the affect_from_char function from it.  Then you'll
see why it's crashing.

>    if (hjp->type == type)
>        affect_remove(ch, hjp);
>}

Ron


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



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