Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1272990 > unrolled thread

Re: [PATCH v1 4/7] test_hexdump: replace magic numbers by their meaning

Started byRasmus Villemoes <linux@rasmusvillemoes.dk>
First post2015-11-19 11:10 +0100
Last post2015-11-20 18:00 +0100
Articles 2 — 2 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: [PATCH v1 4/7] test_hexdump: replace magic numbers by their meaning Rasmus Villemoes <linux@rasmusvillemoes.dk> - 2015-11-19 11:10 +0100
    Re: [PATCH v1 4/7] test_hexdump: replace magic numbers by their  meaning Andy Shevchenko <andriy.shevchenko@linux.intel.com> - 2015-11-20 18:00 +0100

#1272990 — Re: [PATCH v1 4/7] test_hexdump: replace magic numbers by their meaning

FromRasmus Villemoes <linux@rasmusvillemoes.dk>
Date2015-11-19 11:10 +0100
SubjectRe: [PATCH v1 4/7] test_hexdump: replace magic numbers by their meaning
Message-ID<qwukb-7U6-47@gated-at.bofh.it>
On Wed, Nov 11 2015, Andy Shevchenko <andriy.shevchenko@linux.intel.com> wrote:

> The magic numbers of the length are converted to their actual meaning, such as
> end of the buffer with and without ASCII part.
>
> We don't touch the rest magic constants that will be removed in the following
> commits.
>
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> ---
>  lib/test_hexdump.c | 13 +++++++++----
>  1 file changed, 9 insertions(+), 4 deletions(-)
>
> diff --git a/lib/test_hexdump.c b/lib/test_hexdump.c
> index 15a6440..a3e3b01 100644
> --- a/lib/test_hexdump.c
> +++ b/lib/test_hexdump.c
> @@ -130,18 +130,23 @@ static void __init test_hexdump_overflow(size_t buflen, bool ascii)
>  {
>  	char buf[TEST_HEXDUMP_BUF_SIZE];
>  	const char *t = test_data_1_le[0];
> +	size_t len = 1;
>  	size_t l = buflen;
> +	int rs = 16, gs = 1;
> +	int ae, he, e, r;
>  	bool a;
> -	int e, r;
>  
>  	memset(buf, ' ', sizeof(buf));
>  
> -	r = hex_dump_to_buffer(data_b, 1, 16, 1, buf, buflen, ascii);
> +	r = hex_dump_to_buffer(data_b, len, rs, gs, buf, buflen, ascii);
> +
> +	ae = rs * 2 /* hex */ + rs / gs /* spaces */ + 1 /* space */ + len /* ascii */;
> +	he = (gs * 2 /* hex */ + 1 /* space */) * len / gs - 1 /* no trailing space */;

This computation seems to rely on len being an exact multiple of gs -
which of course it is in this case. hex_dump_to_buffer also enforces
it by setting groupsize to 1 when it's not the case, but that doesn't
really help us here. So maybe an extra comment would be justified.

Rasmus
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [next] | [standalone]


#1274263 — Re: [PATCH v1 4/7] test_hexdump: replace magic numbers by their meaning

FromAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Date2015-11-20 18:00 +0100
SubjectRe: [PATCH v1 4/7] test_hexdump: replace magic numbers by their meaning
Message-ID<qwXcu-1li-9@gated-at.bofh.it>
In reply to#1272990
On Thu, 2015-11-19 at 11:08 +0100, Rasmus Villemoes wrote:
> On Wed, Nov 11 2015, Andy Shevchenko <andriy.shevchenko@linux.intel.c
> om> wrote:
> 
> > The magic numbers of the length are converted to their actual
> > meaning, such as
> > end of the buffer with and without ASCII part.
> > 
> > We don't touch the rest magic constants that will be removed in the
> > following
> > commits.
> > 
> > Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> > ---
> >  lib/test_hexdump.c | 13 +++++++++----
> >  1 file changed, 9 insertions(+), 4 deletions(-)
> > 
> > diff --git a/lib/test_hexdump.c b/lib/test_hexdump.c
> > index 15a6440..a3e3b01 100644
> > --- a/lib/test_hexdump.c
> > +++ b/lib/test_hexdump.c
> > @@ -130,18 +130,23 @@ static void __init
> > test_hexdump_overflow(size_t buflen, bool ascii)
> >  {
> >  	char buf[TEST_HEXDUMP_BUF_SIZE];
> >  	const char *t = test_data_1_le[0];
> > +	size_t len = 1;
> >  	size_t l = buflen;
> > +	int rs = 16, gs = 1;
> > +	int ae, he, e, r;
> >  	bool a;
> > -	int e, r;
> >  
> >  	memset(buf, ' ', sizeof(buf));
> >  
> > -	r = hex_dump_to_buffer(data_b, 1, 16, 1, buf, buflen,
> > ascii);
> > +	r = hex_dump_to_buffer(data_b, len, rs, gs, buf, buflen,
> > ascii);
> > +
> > +	ae = rs * 2 /* hex */ + rs / gs /* spaces */ + 1 /* space
> > */ + len /* ascii */;
> > +	he = (gs * 2 /* hex */ + 1 /* space */) * len / gs - 1 /*
> > no trailing space */;
> 
> This computation seems to rely on len being an exact multiple of gs -
> which of course it is in this case. hex_dump_to_buffer also enforces
> it by setting groupsize to 1 when it's not the case, but that doesn't
> really help us here. So maybe an extra comment would be justified.

Agree. A comment would be nice to have.

> 
> Rasmus

-- 
Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Intel Finland Oy

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web