Just looking through it the other day, and noticed something - inner loop looks like; do { fgets(tmp, READ_SIZE, fl); tmp[strlen(tmp) - 1] = '\0'; /* take off the trailing \n */ strcat(tmp, "\r\n"); if (!feof(fl)) { if (strlen(buf) + strlen(tmp) + 1 > MAX_STRING_LENGTH) { log("SYSERR: %s: string too big (%d max)", name, MAX_STRING_LENGTH); *buf = '\0'; return (-1); } strcat(buf, tmp); } } while (!feof(fl)); Shouldn't that do a fclose(fl) before return'ing (-1), just in case? Though, I seriously doubt anyone's crashed over this. PjD +------------------------------------------------------------+ | Ensure that you have read the CircleMUD Mailing List FAQ: | | http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html | +------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 04/11/01 PDT