src/nexus.c
changeset 26 aec062af155d
parent 25 56367df4ce5b
child 48 4841f4398fd2
--- a/src/nexus.c	Mon Mar 09 16:30:59 2009 +0200
+++ b/src/nexus.c	Tue Mar 10 01:11:12 2009 +0200
@@ -62,7 +62,15 @@
             .realname               = "SpBot (development version)",
         }
     };
-    const char *log_database = NULL, *log_channel = NULL;
+
+    struct irc_chan_info log_chan_info = {
+        .channel                    = NULL, 
+    };
+
+    struct irc_log_info log_info = {
+        .db_info                    = NULL,
+        .channel                    = NULL,
+    };
 
     bool port_default = true;
     
@@ -91,11 +99,11 @@
                 break;
             
             case OPT_LOG_DATABASE:
-                log_database = optarg;
+                log_info.db_info = optarg;
                 break;
 
             case OPT_LOG_CHANNEL:
-                log_channel = optarg;
+                log_chan_info.channel = optarg;
                 break;
 
             case '?':
@@ -117,8 +125,13 @@
         FATAL_ERROR(&err, "irc_net_create");
     
     // logging?
-    if (log_database || log_channel) {
-        if ((ERROR_CODE(&err) = irc_log_init(ev_base, log_database, net->conn, log_channel)))
+    if (log_info.db_info || log_chan_info.channel) {
+        // get the channel
+        if (log_chan_info.channel && (log_info.channel = irc_net_add_chan(net, &log_chan_info)) == NULL)
+            FATAL("irc_net_add_chan");
+        
+        // init the irc_log module
+        if ((ERROR_CODE(&err) = irc_log_init(ev_base, &log_info)))
             FATAL_ERROR(&err, "irc_log_init");
     }