diff options
author | Timo Sirainen <cras@irssi.org> | 2000-04-27 10:31:14 +0000 |
---|---|---|
committer | cras <cras@dbcabf3a-b0e7-0310-adc4-f8d773084564> | 2000-04-27 10:31:14 +0000 |
commit | 849c091ac4b7e458fce4341ebb274406a929e2bf (patch) | |
tree | 86e9e2c18d3b79bd6498e207a15b4ac831f072b2 /src/irc/core/irc-log.c | |
parent | d769109f573daac2e8106f11fbad435433ee7bc1 (diff) | |
download | irssi-849c091ac4b7e458fce4341ebb274406a929e2bf.zip |
Removed several header files that only had xxx_init(); xxx_deinit(); - moved
them to the .c file where they were called.
nicklist didn't notice nick changes right.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@183 dbcabf3a-b0e7-0310-adc4-f8d773084564
Diffstat (limited to 'src/irc/core/irc-log.c')
-rw-r--r-- | src/irc/core/irc-log.c | 76 |
1 files changed, 56 insertions, 20 deletions
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); |