From: Dmitry V. Levin Date: Sat, 4 May 2019 23:15:52 +0000 (+0000) Subject: print_io_getevents: parametrize print_timespec X-Git-Tag: v5.1~82 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=92e6f58584297048587d9c042abc997e4b5b5ae3;p=strace print_io_getevents: parametrize print_timespec This is going to be used to implement a parser of io_pgetevents_time64 syscall. * aio.c (print_io_getevents): Add print_ts argument, invoke it instead of print_timespec. (SYS_FUNC(io_getevents), SYS_FUNC(io_pgetevents)): Pass print_timespec to print_io_getevents. --- diff --git a/aio.c b/aio.c index 91a291cf..54df8d10 100644 --- a/aio.c +++ b/aio.c @@ -217,7 +217,8 @@ SYS_FUNC(io_cancel) } static int -print_io_getevents(struct tcb *tcp, bool has_usig) +print_io_getevents(struct tcb *const tcp, const print_obj_by_addr_fn print_ts, + const bool has_usig) { if (entering(tcp)) { printaddr(tcp->u_arg[0]); @@ -235,7 +236,7 @@ print_io_getevents(struct tcb *tcp, bool has_usig) * whether the syscall has failed or not. */ temporarily_clear_syserror(tcp); - print_timespec(tcp, tcp->u_arg[4]); + print_ts(tcp, tcp->u_arg[4]); if (has_usig) { tprints(", "); print_aio_sigset(tcp, tcp->u_arg[5]); @@ -247,10 +248,10 @@ print_io_getevents(struct tcb *tcp, bool has_usig) SYS_FUNC(io_getevents) { - return print_io_getevents(tcp, false); + return print_io_getevents(tcp, print_timespec, false); } SYS_FUNC(io_pgetevents) { - return print_io_getevents(tcp, true); + return print_io_getevents(tcp, print_timespec, true); }