I got bored and decided to make it so spells and skills can be settable by moving the min_level assign to seperate files. After doing so it appears that the CAN_SEE macro no longer works. I commented out the first error in comm.c just to check and next time CAN_SEE is called it crashes. I have not made any chages to CAN_SEE or related macros in CAN_SEE. Here's the gdb output. Program received signal SIGSEGV, Segmentation fault. 0x804ba59 in act (str=0x809145d "$n has entered the game.", hide_invisible=1, ch=0x80e41c8, obj=0x0, vict_obj=0x0, type=1) at comm.c:1840 1840 if (SENDOK(to) && !(hide_invisible && ch && !CAN_SEE(to, ch)) && (gdb) bt #0 0x804ba59 in act (str=0x809145d "$n has entered the game.", hide_invisible=1, ch=0x80e41c8, obj=0x0, vict_obj=0x0, type=1) at comm.c:1840 #1 0x806e324 in nanny (d=0x80e1038, arg=0xbffff858 "1") at interpreter.c:1451 #2 0x8049c5e in game_loop (mother_desc=5) at comm.c:613 #3 0x8049486 in init_game (port=4000) at comm.c:266 #4 0x804941a in main (argc=1, argv=0xbffffdd8) at comm.c:236 #5 0x804915b in _start () (gdb) list 1835 log("SYSERR: no valid target to act()!"); 1836 return; 1837 } 1838 1839 for (; to; to = to->next_in_room) 1840 if (SENDOK(to) && !(hide_invisible && ch && !CAN_SEE(to, ch)) && 1841 (to != ch) && (type == TO_ROOM || (to != vict_obj))) 1842 perform_act(str, ch, obj, vict_obj, to); 1843 } (gdb) info locals ch = (struct char_data *) 0x80e41c8 type = 1 to = (struct char_data *) 0x400a059c sleep = 0 Chris Powell * I don't have bugs, I have * I don't crash, I http://patch.gator.net * randomly developed features * have random reboots +------------------------------------------------------------+ | 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