aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-logcat-text.c
diff options
context:
space:
mode:
Diffstat (limited to 'epan/dissectors/packet-logcat-text.c')
-rw-r--r--epan/dissectors/packet-logcat-text.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/epan/dissectors/packet-logcat-text.c b/epan/dissectors/packet-logcat-text.c
index d88f49d9a2..6ab356be90 100644
--- a/epan/dissectors/packet-logcat-text.c
+++ b/epan/dissectors/packet-logcat-text.c
@@ -169,23 +169,23 @@ static int get_time(const gchar *frame, const gchar *token, tvbuff_t *tvb,
proto_tree *maintree, gint start_offset, packet_info *pinfo) {
gint offset;
gchar *p;
- gint day, month, hrs, min, sec, ms;
- GDateTime *date;
- gint64 seconds;
+ gint ms;
+ struct tm date;
+ time_t seconds;
nstime_t ts;
p = g_strstr_len(frame + start_offset, -1, token);
offset = (int)(p - frame);
- if (6 == sscanf(token, "%d-%d %d:%d:%d.%d", &month, &day, &hrs, &min, &sec, &ms)) {
- date = g_date_time_new_local(1970, month, day, hrs, min,
- (gdouble) sec + ((gdouble) ms) * 0.001);
- seconds = g_date_time_to_unix(date);
- ts.secs = (time_t) seconds;
+ if (6 == sscanf(token, "%d-%d %d:%d:%d.%d", &date.tm_mon, &date.tm_mday,
+ &date.tm_hour, &date.tm_min, &date.tm_sec, &ms)) {
+ date.tm_year = 70;
+ date.tm_mon -= 1;
+ seconds = mktime(&date);
+ ts.secs = seconds;
ts.nsecs = (int) (ms * 1e6);
proto_tree_add_time(maintree, hf_logcat_text_timestamp, tvb, offset,
(int)strlen(token), &ts);
- g_date_time_unref(date);
} else {
proto_tree_add_expert(maintree, pinfo, &ei_malformed_time, tvb, offset, -1);
}