summaryrefslogtreecommitdiff
path: root/print_time.c
diff options
context:
space:
mode:
authorDmitry V. Levin <ldv@altlinux.org>2015-09-18 15:16:11 +0000
committerDmitry V. Levin <ldv@altlinux.org>2015-09-19 04:04:49 +0300
commitf1e3a320458be22ef7e308f44d0a7b80887da36b (patch)
tree3e904896bd9821f8f60b89e99bdfd7bd5aa6ce61 /print_time.c
parent5938526c818336357b97caa8fd89d58a12987b02 (diff)
downloadstrace-f1e3a320458be22ef7e308f44d0a7b80887da36b.tar.gz
Convert parser of struct timeval to new mpers infrastructure
* defs.h (printtv, printtv_special): Remove. [ALPHA] (print_timeval32, print_timeval32_pair): New prototypes. * print_time.c (print_timeval): New mpers printer. [ALPHA] (print_timeval32, print_timeval32_pair): New functions. * time.c (sys_gettimeofday, sys_settimeofday): Use print_timeval instead of printtv. [ALPHA] (sys_osf_gettimeofday, sys_osf_settimeofday): Use print_timeval32 instead of printtv_bitness. * utimes.c [ALPHA] (sys_osf_utimes): Use print_timeval32_pair instead of printtv_bitness.
Diffstat (limited to 'print_time.c')
-rw-r--r--print_time.c36
1 files changed, 36 insertions, 0 deletions
diff --git a/print_time.c b/print_time.c
index f9caf26a8..147651996 100644
--- a/print_time.c
+++ b/print_time.c
@@ -84,6 +84,16 @@ MPERS_PRINTER_DECL(void, print_itimerspec)(struct tcb *tcp, const long addr)
tprints("}");
}
+MPERS_PRINTER_DECL(void, print_timeval)(struct tcb *tcp, const long addr)
+{
+ timeval_t t;
+
+ if (umove_or_printaddr(tcp, addr, &t))
+ return;
+
+ print_timeval_t(&t);
+}
+
MPERS_PRINTER_DECL(void, print_timeval_pair)(struct tcb *tcp, const long addr)
{
timeval_t t[2];
@@ -137,6 +147,32 @@ print_timeval32_t(const timeval32_t *t)
}
void
+print_timeval32(struct tcb *tcp, const long addr)
+{
+ timeval32_t t;
+
+ if (umove_or_printaddr(tcp, addr, &t))
+ return;
+
+ print_timeval32_t(&t);
+}
+
+void
+print_timeval32_pair(struct tcb *tcp, const long addr)
+{
+ timeval32_t t[2];
+
+ if (umove_or_printaddr(tcp, addr, &t))
+ return;
+
+ tprints("[");
+ print_timeval32_t(&t[0]);
+ tprints(", ");
+ print_timeval32_t(&t[1]);
+ tprints("]");
+}
+
+void
print_itimerval32(struct tcb *tcp, const long addr)
{
timeval32_t t[2];