Hi!
> Noticed an odd thing happening with some of my code (and some stock) since
> moving servers.
> The common construct:
> if (blah)
> do this;
> else
> do something else;
> Doesn't seem to work correctly.
> Occasionally it will do "this" instead of "something else" even if "blah"
> is negative or null.
That's right: "something else" will be executed ONLY if blah == NULL.
Even negative gives true.
> I've been fixing up bits of code as I notice them, using:
> if (blah != NULL)
> do this;
> else
> do something else;
This equals
if (blah)
> or if (blah > 0), depending on what type of variable blah is.
And this NOT.
> This has caused the most problems in mobact.c, apparently, but was also
> crashing the mud in do_disconnect and a few other places.
> Anyone know why this would suddenly have started happening? Is it to do
> with versions of compilers, operating systems, or something else entirely?
Hmmm, 'twas always that way! Check any C/C++ book.
--
Oleg V. Volkov aka Rover E-mail: rover@lglobus.ru
E-mail redirector: sr-13@mail.ru (always up) -=/ SR 13 /=-
+------------------------------------------------------------+
| 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