void load_scripts(void) { extern char *new_script; static int done = 0; #if !defined(WINNT) && !defined(__EMX__) char buffer[BIG_BUFFER_SIZE+1]; int old_display = window_display; #endif if (!done++) { never_connected = 0; #if !defined(WINNT) && !defined(__EMX__) window_display = 0; sprintf(buffer, "%s/bxglobal", SCRIPT_PATH); loading_global = 1; load("LOAD", buffer, empty_string, NULL); loading_global = 0; window_display = old_display; #endif if (!quick_startup) { loading_savefile++; reload_save(NULL, NULL, empty_string, NULL); loading_savefile--; /* read the newscript/.bitchxrc/.ircrc file */ if (new_script && !access(new_script, R_OK)) load("LOAD", new_script, empty_string, NULL); else if (!access(bircrc_file, R_OK)) load("LOAD", bircrc_file, empty_string, NULL); else if (!access(ircrc_file, R_OK)) load("LOAD", ircrc_file, empty_string, NULL); } } if (get_server_away(from_server)) set_server_away(from_server, get_server_away(from_server), 1); }
int main(int argc, char *argv[], char *envp[]) { char *channel; debug_init(); srand((unsigned)time(NULL)); time(&start_time); time(&idle_time); time(&now); #ifdef WINNT fprintf(stdout, "%s %s\r\n", nap_version, internal_version); fprintf(stdout, "%s\r\n", main_version); #else fprintf(stdout, "%s %s\n", nap_version, internal_version); fprintf(stdout, "%s\n", main_version); #endif channel = parse_args(argv, argc, envp); FD_ZERO(&readables); FD_ZERO(&writables); if (term_init(NULL)) _exit(1); /* my_signal(SIGQUIT, SIG_IGN, 0);*/ my_signal(SIGHUP, irc_exit_old, 0); my_signal(SIGTERM, irc_exit_old, 0); my_signal(SIGPIPE, SIG_IGN, 0); my_signal(SIGINT, cntl_c, 0); my_signal(SIGALRM, nothing, 0); my_signal(SIGCHLD, child_reap, 0); my_signal(SIGCONT, term_cont, 0); my_signal(SIGWINCH, sig_refresh_screen, 0); my_signal(SIGUSR1, sigusr1, 0); if (!init_screen()) { create_new_screen(); new_window(main_screen); } init_keys(); init_keys2(); init_variables(); #ifdef WANT_THREAD init_share_mutexes(); #ifdef WANT_NSLOOKUP start_dns(); #endif #ifdef WANT_MP3PLAYER start_mp3(); #endif #ifdef GTK start_tgtk(); #endif #endif build_status(current_window, NULL, 0); update_input(UPDATE_ALL); #ifndef WINNT charset_ibmpc(); #endif load_scripts(); read_unfinished_list(); if (auto_connect) { int serv = 0; reload_save(NULL, NULL, NULL, NULL, 0); if (starting_server != -1) serv = starting_server; connect_to_server_by_refnum(serv, -1, create); current_window->server = serv; xterm_settitle(); } else { if (do_get_napigator) get_napigator(); display_server_list(); } set_input_prompt(current_window, get_string_var(INPUT_PROMPT_VAR), 0); for (;;) io("main"); #ifdef GUI1 gui_exit(); #else nappanic("get_line() returned"); #endif return (-((int)0xdead)); }