summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry V. Levin <ldv@strace.io>2021-04-24 08:00:00 +0000
committerDmitry V. Levin <ldv@strace.io>2021-04-24 08:00:00 +0000
commit90cfed89b7da6c7cfaa46fb3204261a5ff09cf81 (patch)
treeec560a8c406ee186f604247d4aed5edf732c233d
parent56f241a823c7a0c237ec9de0a00394432948fa59 (diff)
downloadstrace-90cfed89b7da6c7cfaa46fb3204261a5ff09cf81.tar.gz
net: use print_array
* src/net.c (decode_pair_fd): Rewrite using print_array. (printpair_fd): Remove. (SYS_FUNC(pipe)) [HAVE_ARCH_GETRVAL2]: Rewrite without printpair_fd.
-rw-r--r--src/net.c28
1 files changed, 10 insertions, 18 deletions
diff --git a/src/net.c b/src/net.c
index e61033c4a..4463ab7b2 100644
--- a/src/net.c
+++ b/src/net.c
@@ -357,24 +357,11 @@ SYS_FUNC(getsockname)
}
static void
-printpair_fd(struct tcb *tcp, const int i0, const int i1)
-{
- tprints("[");
- printfd(tcp, i0);
- tprints(", ");
- printfd(tcp, i1);
- tprints("]");
-}
-
-static void
decode_pair_fd(struct tcb *const tcp, const kernel_ulong_t addr)
{
- int pair[2];
-
- if (umove_or_printaddr(tcp, addr, &pair))
- return;
-
- printpair_fd(tcp, pair[0], pair[1]);
+ int fd;
+ print_array(tcp, addr, 2, &fd, sizeof(fd),
+ tfetch_mem, print_fd_array_member, NULL);
}
static int
@@ -393,8 +380,13 @@ do_pipe(struct tcb *tcp, int flags_arg)
SYS_FUNC(pipe)
{
#if HAVE_ARCH_GETRVAL2
- if (exiting(tcp) && !syserror(tcp))
- printpair_fd(tcp, tcp->u_rval, getrval2(tcp));
+ if (exiting(tcp) && !syserror(tcp)) {
+ tprint_array_begin();
+ printfd(tcp, tcp->u_rval);
+ tprint_array_next();
+ printfd(tcp, getrval2(tcp));
+ tprint_array_end();
+ }
return 0;
#else
return do_pipe(tcp, -1);