aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-logcat-text.c
diff options
context:
space:
mode:
authorPascal Quantin <pascal.quantin@gmail.com>2014-08-08 00:02:16 +0200
committerAnders Broman <a.broman58@gmail.com>2014-08-08 05:55:19 +0000
commit40d5c503a7b184c09105d37db33d4ec324416185 (patch)
treeb69ef38f466a9a670877e3e81ecdeb3010b62ee7 /epan/dissectors/packet-logcat-text.c
parent4b78eadd38c749543aee9eed290052a5fb4ddde5 (diff)
Logcat Text: drop use of GDateTime
It's only available from GLib 2.26 while we only require 2.16 Change-Id: I3c2e6748aa93b9af7158f5051433baff6a7c0324 Reviewed-on: https://code.wireshark.org/review/3480 Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com> Reviewed-by: Evan Huus <eapache@gmail.com> Reviewed-by: Anders Broman <a.broman58@gmail.com>
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);
}