> char spell_buf; ... > sprintf( spell_buf, "detect invis");
Make that: char *spell_buf; ... spell_buf = skill_table[spell_num].name; The compiler should have complained about that one. Listen to the compiler, it generally knows what it's talking about :)

