irssi/src/fe-none/irssi.c
dequis 664c38afba Fix some glib deprecation warnings
Most of these have been deprecated since forever (2.2), but they didn't
raise warnings. Now they do, and the warnings are not the most verbose
warnings you could ask for, but, they point in the right direction.

This doesn't handle the GTimeVal deprecation warnings. Those seem
trickier since they cover API, will look into those right after this.
2019-10-31 23:49:40 +01:00

115 lines
2.5 KiB
C

/*
irssi.c : irssi
Copyright (C) 1999-2000 Timo Sirainen
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#include "module.h"
#include <irssi/src/core/modules.h>
#include <irssi/src/core/modules-load.h>
#include <irssi/src/core/args.h>
#include <irssi/src/core/signals.h>
#include <irssi/src/core/core.h>
#ifdef HAVE_STATIC_PERL
void perl_core_init(void);
void perl_core_deinit(void);
#endif
void irc_init(void);
void irc_deinit(void);
static GMainLoop *main_loop;
static char *autoload_module;
static int reload;
static void sig_exit(void)
{
g_main_quit(main_loop);
}
static void sig_reload(void)
{
reload = TRUE;
}
void noui_init(void)
{
srand(time(NULL));
irssi_gui = IRSSI_GUI_NONE;
core_init();
irc_init();
module_register("core", "fe-none");
signal_add("reload", (SIGNAL_FUNC) sig_reload);
signal_add("gui exit", (SIGNAL_FUNC) sig_exit);
#ifdef HAVE_STATIC_PERL
perl_core_init();
#endif
signal_emit("irssi init finished", 0);
}
void noui_deinit(void)
{
#ifdef HAVE_STATIC_PERL
perl_core_deinit();
#endif
signal_remove("reload", (SIGNAL_FUNC) sig_reload);
signal_remove("gui exit", (SIGNAL_FUNC) sig_exit);
irc_deinit();
core_deinit();
}
int main(int argc, char **argv)
{
static GOptionEntry options[] = {
{ "load", 'l', 0, G_OPTION_ARG_STRING, &autoload_module, "Module to load (default = bot)", "MODULE" },
{ NULL }
};
autoload_module = NULL;
core_register_options();
args_register(options);
args_execute(argc, argv);
core_preinit(argv[0]);
#ifdef HAVE_SOCKS
SOCKSinit(argv[0]);
#endif
noui_init();
if (autoload_module == NULL)
autoload_module = "bot";
do {
reload = FALSE;
module_load(autoload_module, NULL);
main_loop = g_main_loop_new(NULL, TRUE);
g_main_loop_run(main_loop);
g_main_loop_unref(main_loop);
}
while (reload);
noui_deinit();
return 0;
}