diff --git a/wiretap/erf.c b/wiretap/erf.c index 267932e599..4ae82a0e3c 100644 --- a/wiretap/erf.c +++ b/wiretap/erf.c @@ -971,11 +971,11 @@ static gboolean erf_write_phdr(wtap_dumper *wdh, int encap, const union wtap_pse static void erf_dump_priv_init_gen_time(erf_dump_t *dump_priv) { - GTimeVal real_time; + gint64 real_time; - g_get_current_time(&real_time); + real_time = g_get_real_time(); /* Convert TimeVal to ERF timestamp */ - dump_priv->gen_time = ((guint64) real_time.tv_sec << 32) + ((guint64) real_time.tv_usec << 32) / 1000 / 1000; + dump_priv->gen_time = ((real_time / G_USEC_PER_SEC) << 32) + ((real_time % G_USEC_PER_SEC) << 32) / 1000 / 1000; }