On Thu, 5 Mar 1998, S. Mead wrote: -> I am stuck on this bug I am having... When some people come on and ->make a char my mud crashes with this error in the log -> ->SYSERR: NULL or NOWHERE in handler.c, char_from_room First, you need to distinguish between a crash and a simple shutdown of the program. A crash is handled by the operating system, not by the program (e.g., UNIX core dumps, Windows95 reports that the program has performed an illegal operation). In this case, the program simply shuts itself down because it has determined that it has encountered invalid or undesirable data. ->if (ch == NULL || ch->in_room == NOWHERE) { -> log("SYSERR: NULL or NOWHERE in handler.c, char_from_room"); -> exit(1); <- What does this command do? -> } exit() exits the program. Which is probably why it's called exit()... ->I found that char_from_room is called in nanny when the player hits '1' ->to enter, this is that section of code: No it isn't. That's not stock code, and it's wrong. The player isn't even in a room yet, so how can they be removed from it? ->/* It doesn't crash when I comment this out, but then it doesnt save ->any of the character's equipment either.... -> if ((load_result = Crash_load(d->character))) <<<--- What does ->this mean? It's the same as, load_result = Crash_load(d->character); if (load_result) -> if (GET_LEVEL(d->character) < LVL_IMMORT && !PLR_FLAGGED(d->character, ->PLR_FROZEN)) { -> char_from_room(d->character); -> char_to_room(d->character, load_room); -> }*/ This is not stock code, and it is where you are having a problem. ->I am a little confused on what load_result is before the above if ->statement, I traced load_result back to its last declatation and I found ->it here in CON_QCLASS: What load_result was doesn't make a difference, because it gets assigned a new value. ->I think I am getting myself lost :) ->Does anyone have some insight for me? I suggest a book on ANSI C. ObProgrammerHumor: Whoever said syllogisms couldn't be humorous? (actually, this isn't actually a syllogism in the strictess sense of word, but whatever), Fact: Development engineers (e.g., programmers) on break talk about football. Fact: Senior engineers on break talk about tennis. Fact: Executives talk about golf. Conclusion: The higher you go on the corporate ladder, the smaller your balls are. Hm, perhaps that proves syllogisms aren't funny. -dak +------------------------------------------------------------+ | 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/15/00 PST