updates.
[silc.git] / apps / irssi / src / silc / core / silc-core.c
index ffc5e2a7f77368fb651e2f7b1df8392e8851d7f6..4878c7168ae5dea9524e2e0555c5cdf398dbdbe6 100644 (file)
@@ -57,7 +57,8 @@ static int idletag;
 SilcClient silc_client = NULL;
 SilcClientConfig silc_config = NULL;
 extern SilcClientOperations ops;
-extern int silc_debug;
+extern bool silc_debug;
+extern bool silc_debug_hexdump;
 #ifdef SILC_SIM
 /* SIM (SILC Module) table */
 SilcSimContext **sims = NULL;
@@ -66,7 +67,7 @@ uint32 sims_count = 0;
 
 static int my_silc_scheduler(void)
 {
-  silc_schedule_one(silc_client->schedule, 0);
+  silc_client_run_one(silc_client);
   return 1;
 }
 
@@ -119,7 +120,7 @@ static void silc_init_userinfo(void)
     
     user_name = settings_get_str("user_name");
   }
-         
+
   /* nick */
   nick = settings_get_str("nick");
   if (nick == NULL || *nick == '\0') {
@@ -157,19 +158,10 @@ static void silc_init_userinfo(void)
 
 /* Log callbacks */
 
-static void silc_log_info(char *message)
-{
-  fprintf(stderr, "%s\n", message);
-}
-
-static void silc_log_warning(char *message)
-{
-  fprintf(stderr, "%s\n", message);
-}
-
-static void silc_log_error(char *message)
+static bool silc_log_misc(SilcLogType type, char *message, void *context)
 {
   fprintf(stderr, "%s\n", message);
+  return TRUE;
 }
 
 /* Init SILC. Called from src/fe-text/silc.c */
@@ -194,7 +186,7 @@ void silc_core_init(void)
     { "list-pkcs", 'P', POPT_ARG_NONE, &opt_list_pkcs, 0,
       "List supported PKCSs", NULL },
     { "debug", 'd', POPT_ARG_STRING, &opt_debug, 0,
-      "Enable debugging", NULL },
+      "Enable debugging", "STRING" },
     { "version", 'V', POPT_ARG_NONE, &opt_version, 0,
       "Show version", NULL },
     { NULL, '\0', 0, NULL }
@@ -270,9 +262,17 @@ void silc_core_init_finish(void)
 
   if (opt_debug) {
     silc_debug = TRUE;
+    silc_debug_hexdump = TRUE;
     silc_log_set_debug_string(opt_debug);
-    silc_log_set_callbacks(silc_log_info, silc_log_warning,
-                          silc_log_error, NULL);
+    silc_log_set_callback(SILC_LOG_INFO, silc_log_misc, NULL);
+    silc_log_set_callback(SILC_LOG_WARNING, silc_log_misc, NULL);
+    silc_log_set_callback(SILC_LOG_ERROR, silc_log_misc, NULL);
+    silc_log_set_callback(SILC_LOG_FATAL, silc_log_misc, NULL);
+#ifndef SILC_DEBUG
+    fprintf(stdout, 
+           "Run-time debugging is not enabled. To enable it recompile\n"
+           "the client with --enable-debug configuration option.\n");
+#endif
   }
 
   /* Do some irssi initializing */
@@ -282,7 +282,6 @@ void silc_core_init_finish(void)
   /* Initialize the auto_addr variables Is "server" the best choice for
    * this?  No existing category seems to apply.
    */
-  
   settings_add_bool("server", "use_auto_addr", FALSE);
   settings_add_str("server", "auto_bind_ip", "");
   settings_add_str("server", "auto_public_ip", "");
@@ -303,6 +302,7 @@ void silc_core_init_finish(void)
 
   /* Get user information */
   silc_client->username = g_strdup(settings_get_str("user_name"));
+  silc_client->nickname = g_strdup(settings_get_str("nick"));
   silc_client->hostname = silc_net_localhost();
   silc_client->realname = g_strdup(settings_get_str("real_name"));