From: Pekka Riikonen Date: Fri, 14 Jun 2002 21:08:41 +0000 (+0000) Subject: Added "debug" and "debug_string" Irssi SILC client settings for X-Git-Tag: silc.toolkit.0.9.2~6 X-Git-Url: http://git.silcnet.org/gitweb/?p=silc.git;a=commitdiff_plain;h=78ec250d207f1023c6e60734151aec0b229e2a20 Added "debug" and "debug_string" Irssi SILC client settings for printing runtime debugging. Avail if compiled with --enable-debug. --- diff --git a/CHANGES b/CHANGES index ed32fb83..bb94fa24 100644 --- a/CHANGES +++ b/CHANGES @@ -9,6 +9,11 @@ Fri Jun 14 22:59:02 EEST 2002 Pekka Riikonen misbehaviour. Affected files are lib/silcsftp/sftp_client.c and lib/silcsftp/sftp_util.c. + * Added new "debug" and "debug_string" settings to Irssi SILC + client which can be used to print runtime debugging on the + Irssi's screen. Available when compiled with --enable-debug + option. Affected file irssi/src/silc/core/silc-core.c. + Tue Jun 11 16:36:02 CEST 2002 Johnny Mnemonic * Fixed a missing variadic parameter in a function call that diff --git a/apps/irssi/src/silc/core/silc-core.c b/apps/irssi/src/silc/core/silc-core.c index 9578ce9b..3fca79d2 100644 --- a/apps/irssi/src/silc/core/silc-core.c +++ b/apps/irssi/src/silc/core/silc-core.c @@ -145,6 +145,31 @@ static void silc_init_userinfo(void) } } +#ifdef SILC_DEBUG +static bool i_debug; +static bool silc_irssi_debug_print(char *file, char *function, int line, + char *message, void *context) +{ + printtext(NULL, NULL, MSGLEVEL_CLIENTNOTICE, + "DEBUG: %s:%d:%s", function, line, message); + return TRUE; +} + +static void sig_debug_setup_changed(void) +{ + bool debug = settings_get_bool("debug"); + if (debug) { + const char *debug_string = settings_get_str("debug_string"); + i_debug = silc_debug = TRUE; + silc_log_set_debug_string(debug_string); + silc_log_set_debug_callbacks(silc_irssi_debug_print, NULL, NULL, NULL); + return; + } + if (i_debug) + silc_debug = FALSE; +} +#endif + /* Log callbacks */ static bool silc_log_misc(SilcLogType type, char *message, void *context) @@ -347,6 +372,12 @@ void silc_core_init(void) settings_add_int("server", "key_exchange_rekey_secs", 3600); settings_add_int("server", "connauth_request_secs", 2); +#ifdef SILC_DEBUG + settings_add_bool("debug", "debug", FALSE); + settings_add_str("debug", "debug_string", ""); + signal_add("setup changed", (SIGNAL_FUNC) sig_debug_setup_changed); +#endif + silc_init_userinfo(); /* Initialize client parameters */ @@ -431,6 +462,9 @@ void silc_core_deinit(void) chat_protocol_find("SILC")); signal_remove("irssi init read settings", (SIGNAL_FUNC) sig_init_read_settings); +#ifdef SILC_DEBUG + signal_remove("setup changed", (SIGNAL_FUNC) sig_debug_setup_changed); +#endif silc_server_deinit(); silc_channels_deinit();