diff options
author | Eugene Syromyatnikov <evgsyr@gmail.com> | 2022-08-24 17:49:01 +0200 |
---|---|---|
committer | Eugene Syromyatnikov <evgsyr@gmail.com> | 2022-09-02 17:55:13 +0200 |
commit | e5d23b8543b84c9e7c88034c7cc5520c6fa11731 (patch) | |
tree | a40db1aca3979b792b2c13fd1b59286e5a8faa87 | |
parent | afc206975500e0c7ddac9df5d05513e4f4d194c0 (diff) | |
download | strace-e5d23b8543b84c9e7c88034c7cc5520c6fa11731.tar.gz |
src: introduce tprint_plus helper
-rw-r--r-- | src/bpf_sock_filter.c | 6 | ||||
-rw-r--r-- | src/kd_ioctl.c | 13 | ||||
-rw-r--r-- | src/print_fields.h | 6 | ||||
-rw-r--r-- | src/ptrace.c | 10 | ||||
-rw-r--r-- | src/sockaddr.c | 6 | ||||
-rw-r--r-- | tests/net-sockaddr.c | 4 |
6 files changed, 28 insertions, 17 deletions
diff --git a/src/bpf_sock_filter.c b/src/bpf_sock_filter.c index f0b51b345..01d7ec96e 100644 --- a/src/bpf_sock_filter.c +++ b/src/bpf_sock_filter.c @@ -24,18 +24,18 @@ print_sock_filter_k(const struct bpf_filter_block *const fp) if (BPF_CLASS(fp->code) == BPF_LD && BPF_MODE(fp->code) == BPF_ABS) { if (fp->k >= (unsigned int) SKF_AD_OFF) { print_xlat32(SKF_AD_OFF); - tprints("+"); + tprint_plus(); printxval(skf_ad, fp->k - (unsigned int) SKF_AD_OFF, "SKF_AD_???"); return true; } else if (fp->k >= (unsigned int) SKF_NET_OFF) { print_xlat32(SKF_NET_OFF); - tprints("+"); + tprint_plus(); PRINT_VAL_U(fp->k - (unsigned int) SKF_NET_OFF); return true; } else if (fp->k >= (unsigned int) SKF_LL_OFF) { print_xlat32(SKF_LL_OFF); - tprints("+"); + tprint_plus(); PRINT_VAL_U(fp->k - (unsigned int) SKF_LL_OFF); return true; } diff --git a/src/kd_ioctl.c b/src/kd_ioctl.c index 4b4e28ae8..e390037e7 100644 --- a/src/kd_ioctl.c +++ b/src/kd_ioctl.c @@ -257,10 +257,15 @@ print_scrmap_array_member(struct tcb *tcp, void *elem_buf, if (xlat_verbose(xlat_verbosity) == XLAT_STYLE_RAW) return true; - if ((val & ~UNI_DIRECT_MASK) == UNI_DIRECT_BASE) - (xlat_verbose(xlat_verbosity) == XLAT_STYLE_VERBOSE - ? tprintf_comment : tprintf)("UNI_DIRECT_BASE+%#hx", - val & UNI_DIRECT_MASK); + if ((val & ~UNI_DIRECT_MASK) == UNI_DIRECT_BASE) { + if (xlat_verbose(xlat_verbosity) == XLAT_STYLE_VERBOSE) + tprint_comment_begin(); + print_xlat_abbrev(UNI_DIRECT_BASE); + tprint_plus(); + PRINT_VAL_X(val & UNI_DIRECT_MASK); + if (xlat_verbose(xlat_verbosity) == XLAT_STYLE_VERBOSE) + tprint_comment_end(); + } return true; } diff --git a/src/print_fields.h b/src/print_fields.h index 3ae042eab..8a7ba50a3 100644 --- a/src/print_fields.h +++ b/src/print_fields.h @@ -205,6 +205,12 @@ tprint_or(void) } static inline void +tprint_plus(void) +{ + STRACE_PRINTS("+"); +} + +static inline void tprints_field_name(const char *name) { STRACE_PRINTF("%s=", name); diff --git a/src/ptrace.c b/src/ptrace.c index 2115ccbfd..8f5245530 100644 --- a/src/ptrace.c +++ b/src/ptrace.c @@ -73,11 +73,11 @@ print_user_offset_addr(const kernel_ulong_t addr) if (xlat_verbose(xlat_verbosity) == XLAT_STYLE_VERBOSE) tprint_comment_begin(); - if (base_addr == addr) - tprints(str); - else - tprintf("%s + %" PRI_klu, - str, addr - (kernel_ulong_t) base_addr); + print_xlat_ex(addr, str, XLAT_STYLE_ABBREV); + if (base_addr > addr) { + tprint_plus(); + PRINT_VAL_U(addr - (kernel_ulong_t) base_addr); + } if (xlat_verbose(xlat_verbosity) == XLAT_STYLE_VERBOSE) tprint_comment_end(); diff --git a/src/sockaddr.c b/src/sockaddr.c index 9139da1cd..55c9486bd 100644 --- a/src/sockaddr.c +++ b/src/sockaddr.c @@ -621,11 +621,11 @@ print_bluetooth_l2_psm(uint16_t psm) } else if (psm_he >= L2CAP_PSM_LE_DYN_START && psm_he <= L2CAP_PSM_LE_DYN_END) { print_xlat(L2CAP_PSM_LE_DYN_START); - tprints(" + "); + tprint_plus(); PRINT_VAL_U(psm_he - L2CAP_PSM_LE_DYN_START); } else if (psm_he >= L2CAP_PSM_DYN_START) { print_xlat(L2CAP_PSM_DYN_START); - tprints(" + "); + tprint_plus(); PRINT_VAL_U(psm_he - L2CAP_PSM_DYN_START); } else { tprints("L2CAP_PSM_???"); @@ -660,7 +660,7 @@ print_bluetooth_l2_cid(uint16_t cid) tprints(cid_name); } else if (cid_he >= L2CAP_CID_DYN_START) { print_xlat(L2CAP_CID_DYN_START); - tprints(" + "); + tprint_plus(); PRINT_VAL_U(cid_he - L2CAP_CID_DYN_START); } else { tprints("L2CAP_CID_???"); diff --git a/tests/net-sockaddr.c b/tests/net-sockaddr.c index 3dde22a39..c56bad3c1 100644 --- a/tests/net-sockaddr.c +++ b/tests/net-sockaddr.c @@ -691,9 +691,9 @@ check_l2(void) int ret = connect(-1, l2, len); pidns_print_leader(); printf("connect(-1, {sa_family=AF_BLUETOOTH" - ", l2_psm=htobs(L2CAP_PSM_DYN_START + %hu)" + ", l2_psm=htobs(L2CAP_PSM_DYN_START+%hu)" ", l2_bdaddr=%02x:%02x:%02x:%02x:%02x:%02x" - ", l2_cid=htobs(L2CAP_CID_DYN_START + %hu)" + ", l2_cid=htobs(L2CAP_CID_DYN_START+%hu)" # ifdef HAVE_STRUCT_SOCKADDR_L2_L2_BDADDR_TYPE ", l2_bdaddr_type=0xce /* BDADDR_??? */" # endif |