aboutsummaryrefslogtreecommitdiffstats
path: root/dumpcap.c
diff options
context:
space:
mode:
authorJoão Valverde <joao.valverde@tecnico.ulisboa.pt>2021-06-14 19:53:59 +0100
committerWireshark GitLab Utility <gerald+gitlab-utility@wireshark.org>2021-06-14 22:05:35 +0000
commit69a217b95b2e6aebdcb77834b60f1ad78819135f (patch)
tree479a749d33bbc8c79311c4f95f307683ef0a79a6 /dumpcap.c
parent59eff6379432b8dac1dc21acb01fa4e8acf27b95 (diff)
wslog: Use buffered I/O
Use standard buffered I/O instead of printing to a string. This is more efficient, cleaner and allows custom output per stream.
Diffstat (limited to 'dumpcap.c')
-rw-r--r--dumpcap.c24
1 files changed, 12 insertions, 12 deletions
diff --git a/dumpcap.c b/dumpcap.c
index f819a62e5d..815a0d8a94 100644
--- a/dumpcap.c
+++ b/dumpcap.c
@@ -327,10 +327,10 @@ static gboolean need_timeout_workaround;
#define WRITER_THREAD_TIMEOUT 100000 /* usecs */
static void
-dumpcap_log_writer(const char *format, va_list ap,
- const char *prefix,
- const char *domain,
- enum ws_log_level level,
+dumpcap_log_writer(const char *domain, enum ws_log_level level,
+ const char *timestamp,
+ const char *file, int line, const char *func,
+ const char *user_format, va_list user_ap,
void *user_data);
/* capture related options */
@@ -5569,28 +5569,28 @@ main(int argc, char *argv[])
}
static void
-dumpcap_log_writer(const char *format, va_list ap,
- const char *prefix,
- const char *domain _U_,
- enum ws_log_level level _U_,
+dumpcap_log_writer(const char *domain, enum ws_log_level level,
+ const char *timestamp,
+ const char *file, int line, const char *func,
+ const char *user_format, va_list user_ap,
void *user_data _U_)
{
#if defined(DEBUG_DUMPCAP) || defined(DEBUG_CHILD_DUMPCAP)
#ifdef DEBUG_DUMPCAP
- ws_log_fprint(stderr, format, ap, prefix);
+ ws_log_default_writer(domain, level, timestamp, file, line, func, user_format, user_ap, NULL);
#endif
#ifdef DEBUG_CHILD_DUMPCAP
- ws_log_fprint(debug_log, format, ap, prefix);
+ ws_log_default_writer(domain, level, timestamp, file, line, func, user_format, user_ap, NULL);
#endif
#else
/* Messages goto stderr or to parent especially formatted if dumpcap
* is running as child. */
if (capture_child) {
- gchar *msg = g_strdup_vprintf(format, ap);
+ gchar *msg = g_strdup_vprintf(user_format, user_ap);
sync_pipe_errmsg_to_parent(2, msg, "");
g_free(msg);
} else {
- ws_log_fprint(stderr, format, ap, prefix);
+ ws_log_default_writer(domain, level, timestamp, file, line, func, user_format, user_ap, NULL);
}
#endif
}