linux-user/strace: Let print_sockaddr() have a 'last' argument

If the format is not the syscall last argument, a comma is append.

Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Message-Id: <20191021114857.20538-9-f4bug@amsat.org>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
This commit is contained in:
Philippe Mathieu-Daudé 2019-10-21 13:48:56 +02:00 committed by Laurent Vivier
parent bb10540e76
commit 42b15d70cf

View file

@ -67,7 +67,7 @@ UNUSED static void print_timeval(abi_ulong, int);
UNUSED static void print_timezone(abi_ulong, int); UNUSED static void print_timezone(abi_ulong, int);
UNUSED static void print_number(abi_long, int); UNUSED static void print_number(abi_long, int);
UNUSED static void print_signal(abi_ulong, int); UNUSED static void print_signal(abi_ulong, int);
UNUSED static void print_sockaddr(abi_ulong addr, abi_long addrlen); UNUSED static void print_sockaddr(abi_ulong, abi_long, int);
UNUSED static void print_socket_domain(int domain); UNUSED static void print_socket_domain(int domain);
UNUSED static void print_socket_type(int type); UNUSED static void print_socket_type(int type);
UNUSED static void print_socket_protocol(int domain, int type, int protocol); UNUSED static void print_socket_protocol(int domain, int type, int protocol);
@ -336,7 +336,7 @@ static void print_siginfo(const target_siginfo_t *tinfo)
} }
static void static void
print_sockaddr(abi_ulong addr, abi_long addrlen) print_sockaddr(abi_ulong addr, abi_long addrlen, int last)
{ {
struct target_sockaddr *sa; struct target_sockaddr *sa;
int i; int i;
@ -418,7 +418,7 @@ print_sockaddr(abi_ulong addr, abi_long addrlen)
} else { } else {
print_raw_param("0x"TARGET_ABI_FMT_lx, addr, 0); print_raw_param("0x"TARGET_ABI_FMT_lx, addr, 0);
} }
gemu_log(", "TARGET_ABI_FMT_ld, addrlen); gemu_log(", "TARGET_ABI_FMT_ld"%s", addrlen, get_comma(last));
} }
static void static void
@ -1751,7 +1751,7 @@ static void do_print_sockaddr(const char *name, abi_long arg1)
gemu_log("%s(", name); gemu_log("%s(", name);
print_sockfd(sockfd, 0); print_sockfd(sockfd, 0);
print_sockaddr(addr, addrlen); print_sockaddr(addr, addrlen, 0);
gemu_log(")"); gemu_log(")");
} }
@ -1821,7 +1821,7 @@ static void do_print_msgaddr(const char *name, abi_long arg1)
print_buf(msg, len, 0); print_buf(msg, len, 0);
print_raw_param(TARGET_ABI_FMT_ld, len, 0); print_raw_param(TARGET_ABI_FMT_ld, len, 0);
print_flags(msg_flags, flags, 0); print_flags(msg_flags, flags, 0);
print_sockaddr(addr, addrlen); print_sockaddr(addr, addrlen, 0);
gemu_log(")"); gemu_log(")");
} }