This function will log to a file what commands are missing helpfiles on boot up of the talker. The list is written to a log ("awol.log") which is overwritten every time the talker starts so it does not become very big. By Tim Gurney. Notes: 1. This should be called JUST before you go into the main processing loop. 2. If you want an inline version, copy the function into somewhere like commands.c and change it so it does tell_player and doesnt log to file. This will allow you to recheck it, if you update and reload help without rebooting the system Any questions - email tim@offswn.net void locate_missing_help(void) { struct command *comlist; struct command *fn; int count = 0, missing = 0; FILE *fp, *logfile; char filename[256]; if ((logfile = fopen("logs/awol.log", "w")) == NULL) return; /* erm ? */ for (count = 0; count < 27; count++) { for (comlist = coms[count]; comlist->text; comlist++) { fn = find_help(comlist->text); if (!fn || !(fn->help)) { memset(filename, 0, 256); sprintf(filename, "doc/%s.help", comlist->text); if ((fp = fopen(filename, "r")) != NULL) { fclose(fp); } else { fprintf(logfile, "Can't locate help on '%s'\n", comlist->text); missing++; } } } } if (missing == 0) fprintf(logfile, "No help files missing\n"); else if (missing == 1) fprintf(logfile, "Only 1 help file missing\n"); else fprintf(logfile, "%d help files missing\n", missing); fflush(logfile); fclose(logfile); }