/** * The program's main function, for nice lua errors handling * @param L Lua state * @return 1 (one returned value in L, the main scripts return status) */ static int pmain(lua_State *L) { int res; int argc = lua_tointeger(L, 1); char **argv = lua_touserdata(L, 2); struct lua_script *scripts; int nb_scripts; char *main_script; lua_pop(L, 2); /* stack is empty */ nb_scripts = load_scripts(&scripts); if (debug) printf("%d lua scripts embedded, counting main\n", nb_scripts); if (nb_scripts == 0) exit(113); /* we take the ownership of the main script code */ main_script = scripts[nb_scripts -1].code; scripts[nb_scripts -1].code = NULL; /* install built-in, C and lua dependencies */ luaL_openlibs(L); install_c_preloaders(L); install_lua_preloaders(L, scripts); free_scripts(&scripts); res = run_script(L, main_script, argc, argv); lua_pushinteger(L, res); return 1; }
/* Loads the satellites and the scripts related to these * satellites of previous sessions acording to the * satellites that are being shown by Gpredict */ void Init::load_previous_session(Glib::ustring *gpredictSats, Manager *man, Terminal *term) { if(!DataBase::exists_file(*gpredictSats)) { Log::LogWarn(LEVEL_LOG_ERROR, "Could not open Sats file from Gpredict !", __FILE__, __LINE__); } std::stringstream *sats = DataBase::get_sats(*gpredictSats); Glib::ustring *satNameStr; char aux[999]; sats->getline(aux, 999); while(!sats->eof()) { satNameStr = new Glib::ustring(aux); man->add_sat(satNameStr); load_scripts(DataBase::get_session_script_num(*satNameStr), DataBase::get_session_script_names(*satNameStr), satNameStr, man, term); sats->getline(aux, 999); } return; }
static void ephy_greasemonkey_extension_init (EphyGreasemonkeyExtension *extension) { char *path; extension->priv = EPHY_GREASEMONKEY_EXTENSION_GET_PRIVATE (extension); LOG ("EphyGreasemonkeyExtension initialising"); path = get_script_dir (); errno = 0; if ((g_mkdir_with_parents (path, 0700) >= 0) || (errno == EEXIST)) { extension->priv->scripts = load_scripts (path); extension->priv->monitor = monitor_scripts (path, extension); } g_free (path); }
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)); }
void script_enviroment::init() { BindSquirrel(); load_scripts(); }