>(gdb) backtrace >#0 0x4007643f in strcpy () >#1 0x81a9690 in ?? () this right here would seem to be the problem (the above two lines). it would appear, that in your do_get function, or a little deeper into it you are trying to copy either a) into a NULL pointer, or b) from a NULL pointer. that would be something like char *arg = NULL; strcpy(buf, arg); you would get something like that. i would suggest stepping through (oops, you don't know how to use GDB yet). umm.. . . well i would suggest putting a lot of log()'s into the function. like log("about to strcpy at this line."); strcpy(yadda, yaddaa); log("this ones ok."); it shouldn't be too hard, if you know how to run on a separate port, and can EASILY recreate the bug. if you STILL can't get it figured out, here's an idea. it may be in this section in do_get int amount = 1; if (is_number(arg1)) { amount = atoi(arg1); strcpy(arg1, arg2); strcpy(arg2, arg3); } did you make sure that arg1, arg2, arg3 are NOT pointers? char *arg1; they are supposed to be char arg1[MAX_INPUT_LENGTH]; .. .. char arg3[MAX_INPUT_LENGTH]; be VERY careful with this kinda thing. have fun, and Code On Akuma the Raging Coder >#2 0x80561e2 in do_get (ch=0x81a7840, argument=0x80a99f5 "all corpse", >cmd=0, > subcmd=0) at act.item.c:319 +------------------------------------------------------------+ | "The poets talk about love, but what I talk about is DOOM, | | because in the end, DOOM is all that counts." - | | Alex Machine/George Stark/Stephen King, The Dark Half | | "Nothing is IMPOSSIBLE, Just IMPROBABLE" | | "Easier Said Than Done, But Better Done Than Said..." | +------------------------------------------------------------+ +------------------------------------------------------------+ | 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/08/00 PST