summaryrefslogtreecommitdiff
path: root/src/irc/core
diff options
context:
space:
mode:
Diffstat (limited to 'src/irc/core')
-rw-r--r--src/irc/core/Makefile.am8
-rw-r--r--src/irc/core/channel-events.h7
-rw-r--r--src/irc/core/channels-query.h7
-rw-r--r--src/irc/core/channels.c12
-rw-r--r--src/irc/core/irc-commands.h7
-rw-r--r--src/irc/core/irc-core.c21
-rw-r--r--src/irc/core/irc-log.c76
-rw-r--r--src/irc/core/irc-rawlog.h7
-rw-r--r--src/irc/core/irc-special-vars.h7
-rw-r--r--src/irc/core/lag.h7
-rw-r--r--src/irc/core/massjoin.h7
-rw-r--r--src/irc/core/nicklist.c2
12 files changed, 84 insertions, 84 deletions
diff --git a/src/irc/core/Makefile.am b/src/irc/core/Makefile.am
index 6e13c75c..e0d49197 100644
--- a/src/irc/core/Makefile.am
+++ b/src/irc/core/Makefile.am
@@ -16,6 +16,7 @@ libirc_core_la_SOURCES = \
irc.c \
irc-core.c \
irc-commands.c \
+ irc-log.c \
irc-rawlog.c \
irc-server.c \
irc-special-vars.c \
@@ -36,20 +37,13 @@ noinst_HEADERS = \
bans.h \
ctcp.h \
channels.h \
- channels-query.h \
channels-setup.h \
- channel-events.h \
ignore.h \
irc.h \
irc-core.h \
- irc-commands.h \
- irc-rawlog.h \
irc-server.h \
- irc-special-vars.h \
ircnet-setup.h \
- lag.h \
masks.h \
- massjoin.h \
modes.h \
mode-lists.h \
module.h \
diff --git a/src/irc/core/channel-events.h b/src/irc/core/channel-events.h
deleted file mode 100644
index f1fe69ba..00000000
--- a/src/irc/core/channel-events.h
+++ /dev/null
@@ -1,7 +0,0 @@
-#ifndef __CHANNEL_EVENTS_H
-#define __CHANNEL_EVENTS_H
-
-void channel_events_init(void);
-void channel_events_deinit(void);
-
-#endif
diff --git a/src/irc/core/channels-query.h b/src/irc/core/channels-query.h
deleted file mode 100644
index 2498afb7..00000000
--- a/src/irc/core/channels-query.h
+++ /dev/null
@@ -1,7 +0,0 @@
-#ifndef __CHANNELS_QUERY
-#define __CHANNELS_QUERY
-
-void channels_query_init(void);
-void channels_query_deinit(void);
-
-#endif
diff --git a/src/irc/core/channels.c b/src/irc/core/channels.c
index 7f835af3..9f01d57a 100644
--- a/src/irc/core/channels.c
+++ b/src/irc/core/channels.c
@@ -25,16 +25,22 @@
#include "bans.h"
#include "channels.h"
-#include "channel-events.h"
-#include "channels-query.h"
#include "channels-setup.h"
#include "irc.h"
#include "modes.h"
#include "levels.h"
#include "mode-lists.h"
-#include "massjoin.h"
#include "nicklist.h"
+void channels_query_init(void);
+void channels_query_deinit(void);
+
+void channel_events_init(void);
+void channel_events_deinit(void);
+
+void massjoin_init(void);
+void massjoin_deinit(void);
+
GSList *channels; /* List of all channels */
CHANNEL_REC *channel_create(IRC_SERVER_REC *server, const char *channel, int automatic)
diff --git a/src/irc/core/irc-commands.h b/src/irc/core/irc-commands.h
deleted file mode 100644
index f368be96..00000000
--- a/src/irc/core/irc-commands.h
+++ /dev/null
@@ -1,7 +0,0 @@
-#ifndef __IRC_COMMANDS_H
-#define __IRC_COMMANDS_H
-
-void irc_commands_init(void);
-void irc_commands_deinit(void);
-
-#endif
diff --git a/src/irc/core/irc-core.c b/src/irc/core/irc-core.c
index 2dbb36e8..c028787c 100644
--- a/src/irc/core/irc-core.c
+++ b/src/irc/core/irc-core.c
@@ -25,14 +25,25 @@
#include "query.h"
#include "ctcp.h"
-#include "irc-commands.h"
-#include "irc-rawlog.h"
-#include "irc-special-vars.h"
#include "ignore.h"
#include "irc.h"
-#include "lag.h"
#include "netsplit.h"
+void irc_commands_init(void);
+void irc_commands_deinit(void);
+
+void irc_rawlog_init(void);
+void irc_rawlog_deinit(void);
+
+void irc_special_vars_init(void);
+void irc_special_vars_deinit(void);
+
+void irc_log_init(void);
+void irc_log_deinit(void);
+
+void lag_init(void);
+void lag_deinit(void);
+
void irc_core_init(void)
{
irc_servers_init();
@@ -47,10 +58,12 @@ void irc_core_init(void)
ignore_init();
irc_rawlog_init();
irc_special_vars_init();
+ irc_log_init();
}
void irc_core_deinit(void)
{
+ irc_log_deinit();
irc_special_vars_deinit();
irc_rawlog_deinit();
ignore_deinit();
diff --git a/src/irc/core/irc-log.c b/src/irc/core/irc-log.c
index c6dabc13..3c9ef760 100644
--- a/src/irc/core/irc-log.c
+++ b/src/irc/core/irc-log.c
@@ -1,68 +1,104 @@
+/*
+ irc-log.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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+*/
+
+#include "module.h"
+#include "signals.h"
+#include "levels.h"
+#include "log.h"
+#include "settings.h"
+
+#include "irc-server.h"
+
static void sig_log(SERVER_REC *server, const char *channel, gpointer level, const char *str)
{
- gint loglevel;
+ int loglevel;
- g_return_if_fail(str != NULL);
+ g_return_if_fail(str != NULL);
- loglevel = GPOINTER_TO_INT(level);
- if (loglevel == MSGLEVEL_NEVER || logs == NULL) return;
+ loglevel = GPOINTER_TO_INT(level);
+ if (loglevel == MSGLEVEL_NEVER || logs == NULL) return;
- /* Check if line should be saved in logs */
- log_file_write(server, channel, loglevel, str);
+ /* Check if line should be saved in logs */
+ log_write(channel, loglevel, str);
}
static void event_away(const char *data, IRC_SERVER_REC *server)
{
+ const char *fname, *levelstr;
LOG_REC *log;
- const char *fname, *level;
+ int level;
fname = settings_get_str("awaylog_file");
- level = settings_get_str("awaylog_level");
- if (*fname == '\0' || *level == '\0') return;
+ levelstr = settings_get_str("awaylog_level");
+ if (*fname == '\0' || *levelstr == '\0') return;
+
+ level = level2bits(levelstr);
+ if (level == 0) return;
- log = log_file_find(fname);
+ log = log_find(fname);
if (log != NULL) {
/* awaylog already created */
if (log->handle == -1) {
/* ..but not open, open it. */
- log_file_open(log);
+ log_start_logging(log);
}
return;
}
- log = log_create(fname, level);
- if (log != NULL) log_file_open(log);
+ log = log_create_rec(fname, level, NULL);
+ if (log != NULL) {
+ log->temp = TRUE;
+ log_update(log);
+ log_start_logging(log);
+ }
}
static void event_unaway(const char *data, IRC_SERVER_REC *server)
{
- LOG_REC *rec;
const char *fname;
+ LOG_REC *log;
fname = settings_get_str("awaylog_file");
if (*fname == '\0') return;
- rec = log_file_find(fname);
- if (rec == NULL || rec->handle == -1) {
+ log = log_find(fname);
+ if (log == NULL || log->handle == -1) {
/* awaylog not open */
return;
}
- log_file_destroy(rec);
+ log_close(log);
}
-void log_init(void)
+void irc_log_init(void)
{
settings_add_str("misc", "awaylog_file", "~/.irssi/away.log");
- settings_add_str("misc", "awaylog_level", "-all +msgs +hilight");
+ settings_add_str("misc", "awaylog_level", "msgs hilight");
signal_add("print text stripped", (SIGNAL_FUNC) sig_log);
signal_add("event 306", (SIGNAL_FUNC) event_away);
signal_add("event 305", (SIGNAL_FUNC) event_unaway);
}
-void log_deinit(void)
+void irc_log_deinit(void)
{
signal_remove("print text stripped", (SIGNAL_FUNC) sig_log);
signal_remove("event 306", (SIGNAL_FUNC) event_away);
diff --git a/src/irc/core/irc-rawlog.h b/src/irc/core/irc-rawlog.h
deleted file mode 100644
index ebab7155..00000000
--- a/src/irc/core/irc-rawlog.h
+++ /dev/null
@@ -1,7 +0,0 @@
-#ifndef __IRC_RAWLOG_H
-#define __IRC_RAWLOG_H
-
-void irc_rawlog_init(void);
-void irc_rawlog_deinit(void);
-
-#endif
diff --git a/src/irc/core/irc-special-vars.h b/src/irc/core/irc-special-vars.h
deleted file mode 100644
index 49e0f1d6..00000000
--- a/src/irc/core/irc-special-vars.h
+++ /dev/null
@@ -1,7 +0,0 @@
-#ifndef __IRC_SPECIAL_VARS_H
-#define __IRC_SPECIAL_VARS_H
-
-void irc_special_vars_init(void);
-void irc_special_vars_deinit(void);
-
-#endif
diff --git a/src/irc/core/lag.h b/src/irc/core/lag.h
deleted file mode 100644
index 219de265..00000000
--- a/src/irc/core/lag.h
+++ /dev/null
@@ -1,7 +0,0 @@
-#ifndef __LAG_H
-#define __LAG_H
-
-void lag_init(void);
-void lag_deinit(void);
-
-#endif
diff --git a/src/irc/core/massjoin.h b/src/irc/core/massjoin.h
deleted file mode 100644
index 021884af..00000000
--- a/src/irc/core/massjoin.h
+++ /dev/null
@@ -1,7 +0,0 @@
-#ifndef __MASSJOIN_H
-#define __MASSJOIN_H
-
-void massjoin_init(void);
-void massjoin_deinit(void);
-
-#endif
diff --git a/src/irc/core/nicklist.c b/src/irc/core/nicklist.c
index 16305548..a275d43e 100644
--- a/src/irc/core/nicklist.c
+++ b/src/irc/core/nicklist.c
@@ -454,7 +454,7 @@ static void event_nick(const char *data, IRC_SERVER_REC *server, const char *ori
signal_emit("server nick changed", 1, server);
}
- nicks = nicklist_get_same(server, nick);
+ nicks = nicklist_get_same(server, orignick);
for (tmp = nicks; tmp != NULL; tmp = tmp->next->next) {
channel = tmp->data;
nickrec = tmp->next->data;