I decided to incorporate this into my mud a few days ago and finally got through all the compiler errors. One thing I noticed though was that there were no parts for the ships actually created. They were all in the prototype files that came with the source as samples. So I decided to create a parts creation command. This is where I'm having the problem.

I have it set up to do a couple of things but any time I try to do something with the parts name other than set it, the mud crashes when strlen is called. This happens any time I try to display it or save it and I can not figure out why.

Here's some relevant bits and pieces of code to show what I'm doing so someone can hopefully figure out what I'm doing wrong.

I've run it through gdb a few times trying to figure out what's going on and it seems to be setting the name just fine. I can print it out in there no problem, but any attempt to do something with it in-game, after the name has been set, and down comes the mud.

A gdb backtrace of a specific crash might be helpful to start really figuring out
what is going on. From the way you are saying things, it sounds like you are
having crashes in more then one place and it is a bit unclear what data you
give goes with what.

But, strlen can be crashed with a NULL or invalid pointer, so I would think that
would be a clue. Doing a quick look, I see a number of things wrong, some
might cause a crash, and others probably not:
The loop in your save should be < MAX_SHIP_PARTS not <= (might crash).
The ch_printf in the list has %-6 for the cost (missing a d?)( could crash).
Your name set does not STRFREE the old name if one is set (should not crash).