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 <ldv@altlinux.org>
This commit is contained in:
Eugene Syromyatnikov 2017-04-23 06:07:55 +02:00 committed by Dmitry V. Levin
parent a791580857
commit fcd8b63210
5 changed files with 28 additions and 4 deletions

View File

@ -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;
}
}

View File

@ -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("]");
}

View File

@ -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;

View File

@ -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;

View File

@ -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;