diff options
author | João Valverde <joao.valverde@tecnico.ulisboa.pt> | 2021-06-10 22:13:11 +0100 |
---|---|---|
committer | João Valverde <joao.valverde@tecnico.ulisboa.pt> | 2021-06-14 13:13:12 +0100 |
commit | 82739fc4f55f51b1d5dd79078bd507837c27dedf (patch) | |
tree | 684987faff1526d6bf7fb7261b0491d8d62f23e9 /dumpcap.c | |
parent | c025e793ddbfe30cae784dc8b00566c139a02e41 (diff) |
wslog: Improve code modularity and efficiency
Also tweak format for readability.
Diffstat (limited to 'dumpcap.c')
-rw-r--r-- | dumpcap.c | 36 |
1 files changed, 20 insertions, 16 deletions
@@ -327,8 +327,11 @@ static gboolean need_timeout_workaround; #define WRITER_THREAD_TIMEOUT 100000 /* usecs */ static void -dumpcap_log_writer(const char *message, enum ws_log_domain domain, - enum ws_log_level level, void *ptr); +dumpcap_log_writer(const char *format, va_list ap, + const char *prefix, + enum ws_log_domain domain, + enum ws_log_level level, + void *user_data); /* capture related options */ static capture_options global_capture_opts; @@ -5567,29 +5570,30 @@ main(int argc, char *argv[]) } static void -dumpcap_log_writer(const char *message, enum ws_log_domain domain _U_, - enum ws_log_level level _U_, void *ptr _U_) +dumpcap_log_writer(const char *format, va_list ap, + const char *prefix, + enum ws_log_domain domain _U_, + enum ws_log_level level _U_, + void *user_data _U_) { #if defined(DEBUG_DUMPCAP) || defined(DEBUG_CHILD_DUMPCAP) #ifdef DEBUG_DUMPCAP - fprintf(stderr, "%s\n", message); - fflush(stderr); + ws_log_fprint(stderr, format, ap, prefix); #endif #ifdef DEBUG_CHILD_DUMPCAP - fprintf(debug_log, "%s\n", message); - fflush(debug_log); -#endif - return; + ws_log_fprint(debug_log, format, ap, prefix); #endif - - /* Messages goto stderr or */ - /* to parent especially formatted if dumpcap running as child. */ +#else + /* Messages goto stderr or to parent especially formatted if dumpcap + * is running as child. */ if (capture_child) { - sync_pipe_errmsg_to_parent(2, message, ""); + gchar *msg = g_strdup_vprintf(format, ap); + sync_pipe_errmsg_to_parent(2, msg, ""); + g_free(msg); } else { - fprintf(stderr, "%s", message); - fflush(stderr); + ws_log_fprint(stderr, format, ap, prefix); } +#endif } |