t4038: Remove non-portable '-a' option passed to test_cmp
[git/git.git] / trace2 / tr2_tbuf.c
1 #include "cache.h"
2 #include "tr2_tbuf.h"
3
4 void tr2_tbuf_local_time(struct tr2_tbuf *tb)
5 {
6 struct timeval tv;
7 struct tm tm;
8 time_t secs;
9
10 gettimeofday(&tv, NULL);
11 secs = tv.tv_sec;
12 localtime_r(&secs, &tm);
13
14 xsnprintf(tb->buf, sizeof(tb->buf), "%02d:%02d:%02d.%06ld", tm.tm_hour,
15 tm.tm_min, tm.tm_sec, (long)tv.tv_usec);
16 }
17
18 void tr2_tbuf_utc_datetime_extended(struct tr2_tbuf *tb)
19 {
20 struct timeval tv;
21 struct tm tm;
22 time_t secs;
23
24 gettimeofday(&tv, NULL);
25 secs = tv.tv_sec;
26 gmtime_r(&secs, &tm);
27
28 xsnprintf(tb->buf, sizeof(tb->buf),
29 "%4d-%02d-%02dT%02d:%02d:%02d.%06ldZ", tm.tm_year + 1900,
30 tm.tm_mon + 1, tm.tm_mday, tm.tm_hour, tm.tm_min, tm.tm_sec,
31 (long)tv.tv_usec);
32 }
33
34 void tr2_tbuf_utc_datetime(struct tr2_tbuf *tb)
35 {
36 struct timeval tv;
37 struct tm tm;
38 time_t secs;
39
40 gettimeofday(&tv, NULL);
41 secs = tv.tv_sec;
42 gmtime_r(&secs, &tm);
43
44 xsnprintf(tb->buf, sizeof(tb->buf), "%4d%02d%02dT%02d%02d%02d.%06ldZ",
45 tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday, tm.tm_hour,
46 tm.tm_min, tm.tm_sec, (long)tv.tv_usec);
47 }