>It only does "this" if "blah" is true (i.e., it's not zero/NULL). A >negative number is non-zero, and thus counts. "if (blah)" is not the >proper way to check for positive integers, only for things that are not >NULL. Note that free() DOES not set memory back to NULL, thus: > > free(blah); > if (blah) printf("This is still printed.\n"); > >Will print, "This is still printed.," but the memory is NOT valid for use. Can you then: free(blah); blah = NULL; if (blah) printf("This is still printed.\n"); ? Presumably the best way is to just make sure that you don't try and do anything with the data after you've freed it . . . Regards, Chris Proctor (Deathblade, Implementor of DominiaMUD) MUD Homepage: http://www.labyrinth.net.au/~cjp +------------------------------------------------------------+ | 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