Hello everybody. I'm a bit puzzled over the gdb output below. It seems program isn't handling the pointer configuring (or something) I'm passing a valid (struct guild_master_data *) pointer to guild_teaches - as it says in the first line of the gdb output (0x4cb7e88 is ok). However, it is dereferencing it as 0x18, which isn't a valid adress, and causes the mud to crash (naturally). My question: What am I doing wrong ? <gdb output> #0 guild_teaches (guild=0x4cb7e88, skill_num=1) at guild.c:241 241 if (skill->skillnum == skill_num) (gdb) print guild $8 = (struct guild_master_data *) 0x18 </gdb output> <relevant code> int guild_teaches(struct guild_master_data *guild, int skill_num) { struct train_info *skill; for (skill = G_SKILLS(guild);skill;skill = skill->next) if (skill->skillnum == skill_num) return (1); return (0); } </relevant code> Any and all help appreciated. Apart from this, my code works fine. Welcor -- +---------------------------------------------------------------+ | FAQ: http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html | | Archives: http://post.queensu.ca/listserv/wwwarch/circle.html | +---------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/06/01 PST