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

From: Rasmus Villemoes
Date: Thu Nov 19 2015 - 05:08:38 EST


On Wed, Nov 11 2015, Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> 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@xxxxxxxxxxxxxxx>
> ---
> 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@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/