[PATCH v2] ptp.c: print field names and use macros form print_fields.h

Dmitry V. Levin ldv at altlinux.org
Sun Mar 11 01:26:45 UTC 2018


On Sat, Mar 10, 2018 at 11:51:59AM +0530, Harsha Sharma wrote:
> * ptp.c: print field names with field values for PTP_PEROUT_REQUEST
> and use macros from print_fields.h
> ---
> Changes in v2:
> * Fix small indentation mismatch
> * Use PRINT_FIELD_FLAGS
> * Use PRINT_FIELD_U and PRINT_FIELD_D in other places too.
> 
>  ptp.c | 35 +++++++++++++++++++----------------
>  1 file changed, 19 insertions(+), 16 deletions(-)
> 
> diff --git a/ptp.c b/ptp.c
> index 3cb3ae87..f9277f5d 100644
> --- a/ptp.c
> +++ b/ptp.c
> @@ -34,6 +34,7 @@
>  # include <linux/ioctl.h>
>  # include <linux/ptp_clock.h>
>  
> +# include "print_fields.h"
>  # include "xlat/ptp_flags_options.h"
>  
>  int
> @@ -51,8 +52,8 @@ ptp_ioctl(struct tcb *const tcp, const unsigned int code,
>  		if (umove_or_printaddr(tcp, arg, &extts))
>  			break;
>  
> -		tprintf("{index=%d, flags=", extts.index);
> -		printflags(ptp_flags_options, extts.flags, "PTP_???");
> +		PRINT_FIELD_D("{", extts, index);
> +		PRINT_FIELD_FLAGS(", ", extts, flags, ptp_flags_options, "PTP_???");
>  		tprints("}");
>  		break;
>  	}
> @@ -64,13 +65,12 @@ ptp_ioctl(struct tcb *const tcp, const unsigned int code,
>  		if (umove_or_printaddr(tcp, arg, &perout))
>  			break;
>  
> -		tprintf("{start={%" PRId64 ", %" PRIu32 "}"
> -			   ", period={%" PRId64 ", %" PRIu32 "}"
> -			   ", index=%d, flags=",
> -			(int64_t)perout.start.sec, perout.start.nsec,
> -			(int64_t)perout.period.sec, perout.period.nsec,
> -			perout.index);
> -		printflags(ptp_flags_options, perout.flags, "PTP_???");
> +		PRINT_FIELD_D("{start={", perout.start, sec);
> +		PRINT_FIELD_U(", ", perout.start, nsec);
> +		PRINT_FIELD_D("}, period={", perout.period, sec);
> +		PRINT_FIELD_U(", ", perout.period, nsec);
> +		PRINT_FIELD_D("}, ", perout, index);
> +		PRINT_FIELD_FLAGS(", ", perout, flags, ptp_flags_options, "PTP_???");
>  		tprints("}");
>  		break;
>  	}
> @@ -87,7 +87,7 @@ ptp_ioctl(struct tcb *const tcp, const unsigned int code,
>  			if (umove_or_printaddr(tcp, arg, &sysoff))
>  				break;
>  
> -			tprintf("{n_samples=%u", sysoff.n_samples);
> +			PRINT_FIELD_U("{", sysoff, n_samples);
>  			return 0;
>  		} else {
>  			unsigned int n_samples, i;
> @@ -109,9 +109,9 @@ ptp_ioctl(struct tcb *const tcp, const unsigned int code,
>  			for (i = 0; i < 2 * n_samples + 1; ++i) {
>  				if (i > 0)
>  					tprints(", ");
> -				tprintf("{%" PRId64 ", %" PRIu32 "}",
> -					(int64_t)sysoff.ts[i].sec,
> -					sysoff.ts[i].nsec);
> +				PRINT_FIELD_D("{", sysoff.ts[i], sec);
> +				PRINT_FIELD_U(", ", sysoff.ts[i], nsec);
> +				tprints("}");
>  			}
>  			if (sysoff.n_samples > PTP_MAX_SAMPLES)
>  				tprints(", ...");
> @@ -129,9 +129,12 @@ ptp_ioctl(struct tcb *const tcp, const unsigned int code,
>  		if (umove_or_printaddr(tcp, arg, &caps))
>  			break;
>  
> -		tprintf("{max_adj=%d, n_alarm=%d, n_ext_ts=%d, n_per_out=%d, pps=%d}",
> -			caps.max_adj, caps.n_alarm, caps.n_ext_ts,
> -			caps.n_per_out, caps.pps);
> +		PRINT_FIELD_D("{", caps, max_adj);
> +		PRINT_FIELD_D(", ", caps, n_alarm);
> +		PRINT_FIELD_D(", ", caps, n_ext_ts);
> +		PRINT_FIELD_D(", ", caps, n_per_out);
> +		PRINT_FIELD_D(", ", caps, pps);
> +		tprints("}");
>  		break;
>  	}

Looks OK now, thanks!


-- 
ldv
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: not available
URL: <http://lists.strace.io/pipermail/strace-devel/attachments/20180311/6e5d9b70/attachment.bin>


More information about the Strace-devel mailing list