First of all just in case it matters I am using an account on a Sunos 5.1.3 OS (not sure about machine specs). I was changing do_who so it would show the level of all 5 of a charcters classes on the list but all of the sudden GET_TITLE started causing a problem. For a history the GET_LEVELX macro is GET_LEVELX(ch, class) (ch)->player.level[(class)]. I got a couple errors i did not recognize when it compiled but they were only warnings so i ignored them: act.informative.c: In function `do_who': act.informative.c:1000: warning: format argument is not a pointer (arg 3) act.informative.c:1000: warning: int format, pointer arg (arg 8) act.informative.c:1000: warning: too few arguments for format the code near those lines is as follows: 994 } else { 995 num_can_see++; 996 sprintf(buf, "%s[%2d %2d %2d %2d %2d] %s %s", 997 GET_LEVELX(tch, CLASS_MAGIC_USER), GET_LEVELX(tch, CLASS_CLERIC), 998 GET_LEVELX(tch, CLASS_THIEF), GET_LEVELX(tch, CLASS_WARRIOR), 999 GET_LEVELX(tch, CLASS_BARD), GET_NAME(tch), 1000 GET_TITLE(tch)); 1001 1002 if (GET_INVIS_LEV(tch)) and as soon as someone types the who command the mud crashes and i get this gdb output: #0 0xef696dcc in strlen () #1 0xef6cae3c in _doprnt_unlocked () #2 0xef6cc178 in sprintf () #3 0x19334 in do_who (ch=0xf2a28, argument=0xeffff6a3 "", cmd=0, subcmd=0) at act.informative.c:996 #4 0x3e314 in command_interpreter (ch=0xf2a28, argument=0xeffff6a0 "who") at interpreter.c:628 #5 0x123d0 in game_loop (mother_desc=6) at comm.c:603 #6 0x11a24 in init_game (port=4111) at comm.c:242 #7 0x119a8 in main (argc=4, argv=0xeffffd24) at comm.c:212 I have a feeling this is some simple thing i introduced my self but i cant seem to figure out what it is this time. Any insight would be greatly appreciated. Thanks, Chris P.S. dont flame me for my newbie question, you could have just deleted it before you read it :)
This archive was generated by hypermail 2b30 : 12/18/00 PST