From: Eugene Syromyatnikov Date: Sun, 23 Apr 2017 04:07:55 +0000 (+0200) Subject: Print string representation of timestamps in parsers of *utime* syscalls X-Git-Tag: v4.17~30 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=fcd8b632107cd82440d2e384c20b123fa9c667dd;p=strace Print string representation of timestamps in parsers of *utime* syscalls * print_timespec.c (print_timespec_t_utime): Use sprinttime_nsec to format a string representation of time, use tprints_comment to print it as a comment. * print_timeval.c (print_timeval_t_utime): New function. (print_timeval_utimes): Use it instead of print_timeval_t. [ALPHA] (print_timeval32_t_utime): New function. [ALPHA] (print_timeval32_utimes): Use it instead of print_timeval32_t. * tests/futimesat.c (print_tv): Update expected output. * tests/utimensat.c (print_ts): Likewise. * tests/xutimes.c (print_tv): Likewise. Co-authored-by: Dmitry V. Levin --- diff --git a/print_timespec.c b/print_timespec.c index 818cb95d..795a183c 100644 --- a/print_timespec.c +++ b/print_timespec.c @@ -61,6 +61,8 @@ print_timespec_t_utime(const timespec_t *t) break; default: print_timespec_t(t); + tprints_comment(sprinttime_nsec(t->tv_sec, + zero_extend_signed_to_ull(t->tv_nsec))); break; } } diff --git a/print_timeval.c b/print_timeval.c index 92c6ad61..8d625546 100644 --- a/print_timeval.c +++ b/print_timeval.c @@ -42,6 +42,14 @@ print_timeval_t(const timeval_t *t) zero_extend_signed_to_ull(t->tv_usec)); } +static void +print_timeval_t_utime(const timeval_t *t) +{ + print_timeval_t(t); + tprints_comment(sprinttime_usec(t->tv_sec, + zero_extend_signed_to_ull(t->tv_usec))); +} + MPERS_PRINTER_DECL(void, print_struct_timeval, const void *arg) { print_timeval_t(arg); @@ -67,9 +75,9 @@ MPERS_PRINTER_DECL(void, print_timeval_utimes, return; tprints("["); - print_timeval_t(&t[0]); + print_timeval_t_utime(&t[0]); tprints(", "); - print_timeval_t(&t[1]); + print_timeval_t_utime(&t[1]); tprints("]"); } @@ -117,6 +125,14 @@ print_timeval32_t(const timeval32_t *t) zero_extend_signed_to_ull(t->tv_usec)); } +static void +print_timeval32_t_utime(const timeval32_t *t) +{ + print_timeval32_t(t); + tprints_comment(sprinttime_usec(t->tv_sec, + zero_extend_signed_to_ull(t->tv_usec))); +} + void print_timeval32(struct tcb *const tcp, const kernel_ulong_t addr) { @@ -137,9 +153,9 @@ print_timeval32_utimes(struct tcb *const tcp, const kernel_ulong_t addr) return; tprints("["); - print_timeval32_t(&t[0]); + print_timeval32_t_utime(&t[0]); tprints(", "); - print_timeval32_t(&t[1]); + print_timeval32_t_utime(&t[1]); tprints("]"); } diff --git a/tests/futimesat.c b/tests/futimesat.c index c6ec2a08..2a8f9ea8 100644 --- a/tests/futimesat.c +++ b/tests/futimesat.c @@ -43,6 +43,8 @@ print_tv(const struct timeval *tv) printf("{tv_sec=%lld, tv_usec=%llu}", (long long) tv->tv_sec, zero_extend_signed_to_ull(tv->tv_usec)); + print_time_t_usec(tv->tv_sec, + zero_extend_signed_to_ull(tv->tv_usec), 1); } static const char *errstr; diff --git a/tests/utimensat.c b/tests/utimensat.c index 7bedc6f7..4f55fb1f 100644 --- a/tests/utimensat.c +++ b/tests/utimensat.c @@ -43,6 +43,8 @@ print_ts(const struct timespec *ts) { printf("{tv_sec=%lld, tv_nsec=%llu}", (long long) ts->tv_sec, zero_extend_signed_to_ull(ts->tv_nsec)); + print_time_t_nsec(ts->tv_sec, + zero_extend_signed_to_ull(ts->tv_nsec), 1); } static const char *errstr; diff --git a/tests/xutimes.c b/tests/xutimes.c index 3b87b27e..2ff88556 100644 --- a/tests/xutimes.c +++ b/tests/xutimes.c @@ -50,6 +50,8 @@ print_tv(const TEST_STRUCT *const tv) printf("{tv_sec=%lld, tv_usec=%llu}", (long long) tv->tv_sec, zero_extend_signed_to_ull(tv->tv_usec)); + print_time_t_usec(tv->tv_sec, + zero_extend_signed_to_ull(tv->tv_usec), 1); } static const char *errstr;