]> granicus.if.org Git - strace/commitdiff
Print string representation of timestamps in parsers of *utime* syscalls
authorEugene Syromyatnikov <evgsyr@gmail.com>
Sun, 23 Apr 2017 04:07:55 +0000 (06:07 +0200)
committerDmitry V. Levin <ldv@altlinux.org>
Mon, 24 Apr 2017 23:14:57 +0000 (23:14 +0000)
* 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>
print_timespec.c
print_timeval.c
tests/futimesat.c
tests/utimensat.c
tests/xutimes.c

index 818cb95d69d64337a93686cc22ad4545c642d422..795a183c2e4cdb1eb4f2df5df34ae8762b71c71c 100644 (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;
        }
 }
index 92c6ad61f4747b7162e8d367a44394452c845075..8d625546fed1b508a66da964bb3a5bcb2de9ea22 100644 (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("]");
 }
 
index c6ec2a083d3c38b9fec86794fbe51f3fb418895d..2a8f9ea8087211d662a55f83fe0ef334bcba5470 100644 (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;
index 7bedc6f72052c13d1a9bc8341faf4a87147145d0..4f55fb1f50ded0c5773d3a4a396651f40a751488 100644 (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;
index 3b87b27e9f031962d84c31e5f9abd159a42ee8ae..2ff8855670a7094491bff7026318503aa3427a10 100644 (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;