diff options
author | Dmitry V. Levin <ldv@altlinux.org> | 2015-09-18 15:16:11 +0000 |
---|---|---|
committer | Dmitry V. Levin <ldv@altlinux.org> | 2015-09-19 04:04:49 +0300 |
commit | f1e3a320458be22ef7e308f44d0a7b80887da36b (patch) | |
tree | 3e904896bd9821f8f60b89e99bdfd7bd5aa6ce61 /print_time.c | |
parent | 5938526c818336357b97caa8fd89d58a12987b02 (diff) | |
download | strace-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.c | 36 |
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]; |