First things first:
Here's how to open zip files on your ipad
.
Ok, so what happened in the patch file?
I rewrote clans so they do the things you asked for (minus the ability to have a mob clan leader - I have no idea how you'd want that to even work).
I tried to make the clan.c file as self-contained as possible, and in practice it handles everything relevant to clans; the clan list, the loading and saving, every command a player or immort can make, etc.
In clan.h we export the few functions needed in the rest of the system. In db.c we trigger the loading and freeing of clan data, and in interpreter.c we add the "clan" command to the main command list. In comm.c we make sure online clan members have the correct clan set.
I would suggest removing any changes made by the previous patch, before adding this. They are not compatible - the macros exported by the previous patch do not exist anymore.
The original clan patch had no concept of a clan (no really, hear me out). It simply delegated the right to set an extra title. Due to this, it was extremely difficult to make changes to the clan; after all, if I changed the name of the clan, every current member would be thrown out - their save file would not match. But they'd still have the old name pop up in the who list. Now, though, no one could dismiss them from their clan, because there was no clan by that name that had a leader. What if a clan leader left the clan?
With this clan system, the clan leader currently can set clan name and individual rank names and the code is ready to add more functionality to clans, because there's already a load/save mechanism in place. There's a relationship from clan to members, meaning that any changes in the clan are immediately visible to all members. If a clan leader leaves the clan, the next highest ranked member steps up as leader, or it is disbanded.
Most, if not all of this is apparent from the help entry lined out in the README. Please help me making it better - what is missing there?