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