Things that would be nice but aren't really necessary: 0. Update the documentation. 1. Properly handle commands like `man 3f intro' when the name of the file we want is something like .../man3/intro.3f. The way this is done right now seems sort of kludgey but it mostly works. See man.c for details. 2. Malloc everything instead of having fixed limits... Or at least check the limits everywhere. If you're paranoid about this, make the limits big (famous last words: really, there aren't that many things that could go wrong :-). 3. Try to do a little better job of memory management. There are a lot of little temporary strings that are malloc'd and never freed. This is probably ok for a standalone program but not so good if you wanted to call man() from another program.