Index: s_conf.c =================================================================== RCS file: /usr/local/repository/irc/ircd/s_conf.c,v retrieving revision 1.154 diff -u -r1.154 s_conf.c --- s_conf.c 2005/01/30 17:22:12 1.154 +++ s_conf.c 2005/02/12 00:12:18 @@ -1396,7 +1396,19 @@ return -1; } #if defined(CONFIG_DIRECTIVE_INCLUDE) - fdn = fdopen(fd, "r"); + /* Note for a future: do not use fdopen() for its 256 fd limit --B. */ + close(fd); + fdn = fopen(configfile, "r"); + if (fdn == NULL) + { + if (serverbooting) + { + fprintf(stderr, + "Fatal Error: Can not open configuration file %s (%s)\n", + configfile,strerror(errno)); + } + return -1; + } ConfigTop = config_read(fdn, 0, new_config_file(configfile, NULL, 0)); for(p = ConfigTop; p; p = p->next) #else