> >It certainly _is_. No-one ever thinks it's their code
> that's broken, but
> >it is 99.9999999998% of the time. You've screwed up your linked list
> >somewhere and maybe a few other pointers elsewhere. Perhaps
> you have a
> >memory overrun.
>
> Then why would if (blah) cause problems where if (blah !=
> NULL) does not?
>
> Surely if blah is not equal to NULL and if's behaviour is as
> specified they
> should be functionally identical. They are certainly not in
> this particular
> case.
This has already been said, but perhaps you missed that email or just
ignored what it had to say.
if (blah)
and
if (blah != NULL)
are NOT identical in their functionality! If you have an item that you
free() it is not explicity set to NULL. Also, if you write a piece of code
that overflows into other memory that it shouldn't, then you can trash data.
That means that accessing d->character could cause serious problems of
d->character has been trashed with some other data.
I would undo your latest changes or use gdb and see what your memory looks
like at the time of crash.
I can garuntee you that it's not stock code. If it was, then we would all be
having the same problem that you are having.
--
Zeavon Calatin, Spear of Insanity
spear.kilnar.com:1066
http://spear.kilnar.com/
+------------------------------------------------------------+
| Ensure that you have read the CircleMUD Mailing List FAQ: |
| http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html |
+------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/15/00 PST