diff options
author | Dmitry V. Levin <ldv@strace.io> | 2021-04-14 08:00:00 +0000 |
---|---|---|
committer | Dmitry V. Levin <ldv@strace.io> | 2021-04-14 08:00:00 +0000 |
commit | cef1b25c7d8f908704bce6848258b14d91c1e0ca (patch) | |
tree | 95bf64645b1af4332426693a1ae8fab630e1e18d | |
parent | 9a0c6c32f9776aa3c99376c4dd934df6e8ca4050 (diff) | |
download | strace-cef1b25c7d8f908704bce6848258b14d91c1e0ca.tar.gz |
ipc_msg: use print_fields.h helpers
* src/ipc_msg.c (tprint_msgsnd, tprint_msgrcv, SYS_FUNC(msgget),
SYS_FUNC(msgrcv)): Use tprint_arg_next, PRINT_VAL_U, and PRINT_VAL_D.
-rw-r--r-- | src/ipc_msg.c | 48 |
1 files changed, 39 insertions, 9 deletions
diff --git a/src/ipc_msg.c b/src/ipc_msg.c index ac1a88b5c..d90b17024 100644 --- a/src/ipc_msg.c +++ b/src/ipc_msg.c @@ -22,8 +22,11 @@ SYS_FUNC(msgget) { + /* key */ printxval(ipc_private, (unsigned int) tcp->u_arg[0], NULL); - tprints(", "); + tprint_arg_next(); + + /* msgflg */ if (printflags(resource_flags, tcp->u_arg[1] & ~0777, NULL) != 0) tprints("|"); print_numeric_umode_t(tcp->u_arg[1] & 0777); @@ -34,14 +37,24 @@ static void tprint_msgsnd(struct tcb *const tcp, const kernel_ulong_t addr, const kernel_ulong_t count, const unsigned int flags) { + /* msqid */ tprint_msgbuf(tcp, addr, count); - tprintf(", %" PRI_klu ", ", count); + tprint_arg_next(); + + /* msgsz */ + PRINT_VAL_U(count); + tprint_arg_next(); + + /* msgflg */ printflags(ipc_msg_flags, flags, "MSG_???"); } SYS_FUNC(msgsnd) { - tprintf("%d, ", (int) tcp->u_arg[0]); + /* msqid */ + PRINT_VAL_D((int) tcp->u_arg[0]); + tprint_arg_next(); + if (indirect_ipccall(tcp)) { tprint_msgsnd(tcp, tcp->u_arg[3], tcp->u_arg[1], tcp->u_arg[2]); @@ -56,9 +69,16 @@ static void tprint_msgrcv(struct tcb *const tcp, const kernel_ulong_t addr, const kernel_ulong_t count, const kernel_ulong_t msgtyp) { + /* msqid */ tprint_msgbuf(tcp, addr, count); - tprintf(", %" PRI_klu ", ", count); - tprintf("%" PRI_kld ", ", msgtyp); + tprint_arg_next(); + + /* msgsz */ + PRINT_VAL_U(count); + tprint_arg_next(); + + /* msgtyp */ + PRINT_VAL_D(msgtyp); } static int @@ -82,7 +102,9 @@ fetch_msgrcv_args(struct tcb *const tcp, const kernel_ulong_t addr, SYS_FUNC(msgrcv) { if (entering(tcp)) { - tprintf("%d, ", (int) tcp->u_arg[0]); + /* msqid */ + PRINT_VAL_D((int) tcp->u_arg[0]); + tprint_arg_next(); } else { if (indirect_ipccall(tcp)) { const bool direct = @@ -96,16 +118,24 @@ SYS_FUNC(msgrcv) } else { kernel_ulong_t pair[2]; - if (fetch_msgrcv_args(tcp, tcp->u_arg[3], pair)) - tprintf(", %" PRI_klu ", ", tcp->u_arg[1]); - else + if (fetch_msgrcv_args(tcp, tcp->u_arg[3], pair)) { + tprint_arg_next(); + PRINT_VAL_U(tcp->u_arg[1]); + } else { tprint_msgrcv(tcp, pair[0], tcp->u_arg[1], pair[1]); + } } + tprint_arg_next(); + + /* msgflg */ printflags(ipc_msg_flags, tcp->u_arg[2], "MSG_???"); } else { tprint_msgrcv(tcp, tcp->u_arg[1], tcp->u_arg[2], tcp->u_arg[3]); + tprint_arg_next(); + + /* msgflg */ printflags(ipc_msg_flags, tcp->u_arg[4], "MSG_???"); } } |