]> granicus.if.org Git - strace/commitdiff
Intorduce PRINT_FIELD_NET_PORT
authorDmitry V. Levin <ldv@altlinux.org>
Sun, 9 Jul 2017 13:54:01 +0000 (13:54 +0000)
committerDmitry V. Levin <ldv@altlinux.org>
Sun, 9 Jul 2017 18:43:34 +0000 (18:43 +0000)
* print_fields.h (PRINT_FIELD_NET_PORT): New macro.
* netlink_sock_diag.c (print_inet_diag_sockid): Use it
instead of a manual tprintf statement.
* sockaddr.c (print_sockaddr_data_in, print_sockaddr_data_in6,
print_sockaddr_data_ipx): Likewise.

netlink_sock_diag.c
print_fields.h
sockaddr.c

index 467abbbb0b5d0329c247bd05e419504633d39ba8..f30eeeca57e7bbd450677d75f05adc78a55fd003 100644 (file)
@@ -603,9 +603,8 @@ decode_packet_diag_msg(struct tcb *const tcp,
 static void
 print_inet_diag_sockid(const struct inet_diag_sockid *id, const uint8_t family)
 {
-       tprintf("{idiag_sport=htons(%u), idiag_dport=htons(%u)",
-               ntohs(id->idiag_sport), ntohs(id->idiag_dport));
-
+       PRINT_FIELD_NET_PORT("{", *id, idiag_sport);
+       PRINT_FIELD_NET_PORT(", ", *id, idiag_dport);
        PRINT_FIELD_INET_ADDR(", ", *id, idiag_src, family);
        PRINT_FIELD_INET_ADDR(", ", *id, idiag_dst, family);
        PRINT_FIELD_IFINDEX(", ", *id, idiag_if);
index 2619610c7cfc81297e5b0b062295d9bed4c96b5b..f09b3e47171d07627fc3a605f82db05e805ebc65 100644 (file)
                                sizeof((where_).field_), #field_);      \
        } while (0)
 
+#define PRINT_FIELD_NET_PORT(prefix_, where_, field_)                  \
+       STRACE_PRINTF("%s%s=htons(%u)", (prefix_), #field_,             \
+                     ntohs((where_).field_))
+
 #define PRINT_FIELD_IFINDEX(prefix_, where_, field_)                   \
        do {                                                            \
                STRACE_PRINTF("%s%s=", (prefix_), #field_);             \
index 7b72d043f34ad212aac94b92edf02b5066235891..6984bcbac691712d170e02bbfba55fd19debff26 100644 (file)
@@ -116,8 +116,8 @@ print_sockaddr_data_in(const void *const buf, const int addrlen)
 {
        const struct sockaddr_in *const sa_in = buf;
 
-       tprintf("sin_port=htons(%u), sin_addr=inet_addr(\"%s\")",
-               ntohs(sa_in->sin_port), inet_ntoa(sa_in->sin_addr));
+       PRINT_FIELD_NET_PORT("", *sa_in, sin_port);
+       tprintf(", sin_addr=inet_addr(\"%s\")", inet_ntoa(sa_in->sin_addr));
 }
 
 #define SIN6_MIN_LEN offsetof(struct sockaddr_in6, sin6_scope_id)
@@ -127,7 +127,7 @@ print_sockaddr_data_in6(const void *const buf, const int addrlen)
 {
        const struct sockaddr_in6 *const sa_in6 = buf;
 
-       tprintf("sin6_port=htons(%u)", ntohs(sa_in6->sin6_port));
+       PRINT_FIELD_NET_PORT("", *sa_in6, sin6_port);
        PRINT_FIELD_INET_ADDR(", ", *sa_in6, sin6_addr, AF_INET6);
        tprintf(", sin6_flowinfo=htonl(%u)", ntohl(sa_in6->sin6_flowinfo));
 
@@ -149,10 +149,9 @@ print_sockaddr_data_ipx(const void *const buf, const int addrlen)
        const struct sockaddr_ipx *const sa_ipx = buf;
        unsigned int i;
 
-       tprintf("sipx_port=htons(%u)"
-               ", sipx_network=htonl(%#08x)"
+       PRINT_FIELD_NET_PORT("", *sa_ipx, sipx_port);
+       tprintf(", sipx_network=htonl(%#08x)"
                ", sipx_node=[",
-               ntohs(sa_ipx->sipx_port),
                ntohl(sa_ipx->sipx_network));
        for (i = 0; i < IPX_NODE_LEN; ++i) {
                tprintf("%s%#02x", i ? ", " : "",