[prev in list] [next in list] [prev in thread] [next in thread]
List: strace
Subject: Re: [PATCH 05/12] quota: Add missing prefixes to struct field names
From: "Dmitry V. Levin" <ldv () altlinux ! org>
Date: 2016-09-27 8:29:47
Message-ID: 20160927082947.GA5916 () altlinux ! org
[Download RAW message or body]
[Attachment #2 (multipart/signed)]
On Wed, Sep 21, 2016 at 06:11:28AM +0300, Eugene Syromyatnikov wrote:
> * quota.c (decode_cmd_data): Print field names in accordance with their
> definition.
> ---
> quota.c | 191 ++++++++++++++++++++++++++++++++-------------------------------
> 1 file changed, 98 insertions(+), 93 deletions(-)
>
> diff --git a/quota.c b/quota.c
> index 68f8a79..1e1597f 100644
> --- a/quota.c
> +++ b/quota.c
> @@ -237,16 +237,16 @@ decode_cmd_data(struct tcb *tcp, uint32_t id, uint32_t cmd, unsigned long data)
>
> if (umove_or_printaddr(tcp, data, &dq))
> break;
> - tprintf("{bhardlimit=%" PRIu64 ", ", dq.dqb_bhardlimit);
> - tprintf("bsoftlimit=%" PRIu64 ", ", dq.dqb_bsoftlimit);
> - tprintf("curspace=%" PRIu64 ", ", dq.dqb_curspace);
> - tprintf("ihardlimit=%" PRIu64 ", ", dq.dqb_ihardlimit);
> - tprintf("isoftlimit=%" PRIu64 ", ", dq.dqb_isoftlimit);
> - tprintf("curinodes=%" PRIu64 ", ", dq.dqb_curinodes);
> + tprintf("{dqb_bhardlimit=%" PRIu64 ", ", dq.dqb_bhardlimit);
> + tprintf("dqb_bsoftlimit=%" PRIu64 ", ", dq.dqb_bsoftlimit);
> + tprintf("dqb_curspace=%" PRIu64 ", ", dq.dqb_curspace);
> + tprintf("dqb_ihardlimit=%" PRIu64 ", ", dq.dqb_ihardlimit);
> + tprintf("dqb_isoftlimit=%" PRIu64 ", ", dq.dqb_isoftlimit);
> + tprintf("dqb_curinodes=%" PRIu64 ", ", dq.dqb_curinodes);
> if (!abbrev(tcp)) {
> - tprintf("btime=%" PRIu64 ", ", dq.dqb_btime);
> - tprintf("itime=%" PRIu64 ", ", dq.dqb_itime);
> - tprints("valid=");
> + tprintf("dqb_btime=%" PRIu64 ", ", dq.dqb_btime);
> + tprintf("dqb_itime=%" PRIu64 ", ", dq.dqb_itime);
> + tprints("dqb_valid=");
> printflags(if_dqblk_valid,
> dq.dqb_valid, "QIF_???");
> tprints("}");
> @@ -267,19 +267,19 @@ decode_cmd_data(struct tcb *tcp, uint32_t id, uint32_t cmd, unsigned long data)
>
> if (umove_or_printaddr(tcp, data, &dq))
> break;
> - tprintf("{bhardlimit=%" PRIu64 ", ", dq.dqb_bhardlimit);
> - tprintf("bsoftlimit=%" PRIu64 ", ", dq.dqb_bsoftlimit);
> - tprintf("curspace=%" PRIu64 ", ", dq.dqb_curspace);
> - tprintf("ihardlimit=%" PRIu64 ", ", dq.dqb_ihardlimit);
> - tprintf("isoftlimit=%" PRIu64 ", ", dq.dqb_isoftlimit);
> - tprintf("curinodes=%" PRIu64 ", ", dq.dqb_curinodes);
> + tprintf("{dqb_bhardlimit=%" PRIu64 ", ", dq.dqb_bhardlimit);
> + tprintf("dqb_bsoftlimit=%" PRIu64 ", ", dq.dqb_bsoftlimit);
> + tprintf("dqb_curspace=%" PRIu64 ", ", dq.dqb_curspace);
> + tprintf("dqb_ihardlimit=%" PRIu64 ", ", dq.dqb_ihardlimit);
> + tprintf("dqb_isoftlimit=%" PRIu64 ", ", dq.dqb_isoftlimit);
> + tprintf("dqb_curinodes=%" PRIu64 ", ", dq.dqb_curinodes);
> if (!abbrev(tcp)) {
> - tprintf("btime=%" PRIu64 ", ", dq.dqb_btime);
> - tprintf("itime=%" PRIu64 ", ", dq.dqb_itime);
> - tprints("valid=");
> + tprintf("dqb_btime=%" PRIu64 ", ", dq.dqb_btime);
> + tprintf("dqb_itime=%" PRIu64 ", ", dq.dqb_itime);
> + tprints("dqb_valid=");
> printflags(if_dqblk_valid,
> dq.dqb_valid, "QIF_???");
> - tprintf(", id=%u}", dq.dqb_id);
> + tprintf(", dqb_id=%u}", dq.dqb_id);
> } else
> tprintf("id=%u, ...}", dq.dqb_id);
This approach is error-prone, as the last line clearly demonstrates.
I've introduced a macro to make it less prone to such errors.
--
ldv
[Attachment #5 (application/pgp-signature)]
------------------------------------------------------------------------------
_______________________________________________
Strace-devel mailing list
Strace-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/strace-devel
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic