>
> > for (k = combat_list; k; k = temp)
> > {
> > temp = k->next_fighting;
> > if (FIGHTING(k) == ch)
> > stop_fighting(k);
> > }
>
> also, you can just do:
> for (k=combat_list;k;k=k->next_fighting){
> if (FIGHTING(k)==vict)
> stop_fighting(k);
> }
>
Cant... k = k->next-fighting wont work. stop_fighting pulls 'k' from the
linked lsit... so if the list were:
bob -> mark -> steve -> joe -> tim
would work like this:
for(k = bob; k; k = k->next_fighting) {
if(fighting(bob) == vict)
remove_bob_from_list;
}
Now bob is no longer in the list, which sets bo->next_fighting = NULL; so,
when k = k->next fighting, k will = NULL, and the loop will end as !k is
true.
Did that make any sense at all?
This archive was generated by hypermail 2b30 : 12/18/00 PST