There's a reproducible seg fault in is_identifiable_type() in item.c in
cases where get_typedata(op->type) return NULL.
I hit this consistently when trying to board a sailing ship.
I'm not totally clear on what is going on, so I won't commit my change,
but this is what I've found works for me. Someone who knows the code
better should commit a fix:
int is_identifiable_type(const object *op) {
/* Special case -- skill tools don't have an associated identification
* skill but still need IDing. TODO: we should probably have
per-tool ID
* skills, e.g. thievery for lockpicks and thaumaturgy for
talismans, but
* currently there's no good way to do this because the
identifyskill is
* tied to the itemtype rather than to the arch. */
if ( op->type == SKILL_TOOL ) return TRUE;
if ( !get_typedata(op->type) ) return FALSE;
return get_typedata(op->type)->identifyskill;
}
_______________________________________________
crossfire mailing list
crossfire@metalforge.org
http://mailman.metalforge.org/mailman/listinfo/crossfire