Пример #1
0
/**
 * 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;
}
Пример #2
0
/* 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);
}
Пример #4
0
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));
}
Пример #5
0
void script_enviroment::init()
{
	BindSquirrel();
	load_scripts();
}