Bug: The tongues.dat file is never closed by load_tongues.
Found by: Samson
Fixed by: Samson
In the load_tongues function find:
word = fread_word(fp);
if (!str_cmp(word, "end")
CREATE(lng, LANG_DATA, 1);
lng->name = STRALLOC(word);
fread_cnv(fp, &lng->first_precnv, &lng->last_precnv);
lng->alphabet = fread_string(fp);
fread_cnv(fp, &lng->first_cnv, &lng->last_cnv);
LINK(lng, first_lang, last_lang, next, prev);
Replace the first return with break, and above the second return add:
This error was quite possibly reported in the past but no information on it can be found in the SML archives, nor do I recall who may have reported it the first time. For a stock MUD, this is of little consequence and would only be a very minor annoyance. For MUDs which have added copyover/hotboot, it becomes a serious issue since each open descritptor is carried over. The more copyovers that are done, the more open file descritptors there are. This could eventually lead to major problems with the machine the MUD is hosted on if it is never hard-rebooted or crashed.