From dc0e6ccc9f9aaad7139c1edd3b723c4b939b15da Mon Sep 17 00:00:00 2001 From: Orgad Shaneh Date: Mon, 30 Oct 2017 15:42:43 +0200 Subject: [PATCH] tshark/tfshark: Do not apply console.log.level before it is set The user has no way to apply this setting while loading dissectors in order to enable g_debug messages during init for example. Change the behavior to be as documented in the comment. Change-Id: I9317f12b207d4621508212b02ca1ebd46b55aadc Reviewed-on: https://code.wireshark.org/review/24184 Petri-Dish: Roland Knall Tested-by: Petri Dish Buildbot Reviewed-by: Richard Sharpe --- tfshark.c | 7 +++---- tshark.c | 8 ++++---- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/tfshark.c b/tfshark.c index db4c8d5d72..ab8e5cfb2f 100644 --- a/tfshark.c +++ b/tfshark.c @@ -157,6 +157,7 @@ static void failure_message_cont(const char *msg_format, va_list ap); capture_file cfile; static GHashTable *output_only_tables = NULL; +static e_prefs *prefs_p = NULL; #if 0 struct string_elem { @@ -276,7 +277,7 @@ tfshark_log_handler (const gchar *log_domain, GLogLevelFlags log_level, { /* ignore log message, if log_level isn't interesting based upon the console log preferences. - If the preferences haven't been loaded loaded yet, display the + If the preferences haven't been loaded yet, display the message anyway. The default console_log_level preference value is such that only @@ -287,8 +288,7 @@ tfshark_log_handler (const gchar *log_domain, GLogLevelFlags log_level, ERROR and CRITICAL level messages so the current code is a behavioral change. The current behavior is the same as in Wireshark. */ - if ((log_level & G_LOG_LEVEL_MASK & prefs.console_log_level) == 0 && - prefs.console_log_level != 0) { + if (prefs_p && (log_level & G_LOG_LEVEL_MASK & prefs.console_log_level) == 0) { return; } @@ -345,7 +345,6 @@ main(int argc, char *argv[]) dfilter_t *rfcode = NULL; dfilter_t *dfcode = NULL; gchar *err_msg; - e_prefs *prefs_p; int log_flags; gchar *output_only = NULL; diff --git a/tshark.c b/tshark.c index 6a32bdbf40..409a858862 100644 --- a/tshark.c +++ b/tshark.c @@ -224,6 +224,8 @@ static capture_options global_capture_opts; static capture_session global_capture_session; static info_data_t global_info_data; +static e_prefs *prefs_p = NULL; + #ifdef SIGINFO static gboolean infodelay; /* if TRUE, don't print capture info in SIGINFO handler */ static gboolean infoprint; /* if TRUE, print capture info after clearing infodelay */ @@ -513,7 +515,7 @@ tshark_log_handler (const gchar *log_domain, GLogLevelFlags log_level, { /* ignore log message, if log_level isn't interesting based upon the console log preferences. - If the preferences haven't been loaded loaded yet, display the + If the preferences haven't been loaded yet, display the message anyway. The default console_log_level preference value is such that only @@ -524,8 +526,7 @@ tshark_log_handler (const gchar *log_domain, GLogLevelFlags log_level, ERROR and CRITICAL level messages so the current code is a behavioral change. The current behavior is the same as in Wireshark. */ - if ((log_level & G_LOG_LEVEL_MASK & prefs.console_log_level) == 0 && - prefs.console_log_level != 0) { + if (prefs_p && (log_level & G_LOG_LEVEL_MASK & prefs.console_log_level) == 0) { return; } @@ -717,7 +718,6 @@ main(int argc, char *argv[]) dfilter_t *rfcode = NULL; dfilter_t *dfcode = NULL; gchar *err_msg; - e_prefs *prefs_p; int log_flags; gchar *output_only = NULL; gchar *volatile pdu_export_arg = NULL;